@steedos-widgets/reactflow 1.2.2 → 1.2.3

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.
@@ -7,4 +7,4 @@
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */function requireWithSelector_production_min(){if(hasRequiredWithSelector_production_min)return withSelector_production_min;hasRequiredWithSelector_production_min=1;var e=require$$0__default.default,t=requireShim();var n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=t.useSyncExternalStore,r=e.useRef,i=e.useEffect,s=e.useMemo,a=e.useDebugValue;return withSelector_production_min.useSyncExternalStoreWithSelector=function(e,t,l,c,u){var d=r(null);if(null===d.current){var h={hasValue:!1,value:null};d.current=h}else h=d.current;d=s((function(){function e(e){if(!i){if(i=!0,o=e,e=c(e),void 0!==u&&h.hasValue){var t=h.value;if(u(t,e))return r=t}return r=e}if(t=r,n(o,e))return t;var s=c(e);return void 0!==u&&u(t,s)?t:(o=e,r=s)}var o,r,i=!1,s=void 0===l?null:l;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]}),[t,l,c,u]);var p=o(e,d[0],d[1]);return i((function(){h.hasValue=!0,h.value=p}),[p]),a(p),p},withSelector_production_min}!function(e){e.exports=requireWithSelector_production_min()}(withSelector);var useSyncExternalStoreExports=getDefaultExportFromCjs(withSelector.exports);const{useSyncExternalStoreWithSelector:useSyncExternalStoreWithSelector}=useSyncExternalStoreExports;function useStore$1(e,t=e.getState,n){const o=useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return require$$0.useDebugValue(o),o}function shallow(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(const[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(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(t,n[o])||!Object.is(e[n[o]],t[n[o]]))return!1;return!0}var noop$1={value:()=>{}};function dispatch(){for(var e,t=0,n=arguments.length,o={};t<n;++t){if(!(e=arguments[t]+"")||e in o||/[\s.]/.test(e))throw new Error("illegal type: "+e);o[e]=[]}return new Dispatch(o)}function Dispatch(e){this._=e}function parseTypenames$1(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",o=e.indexOf(".");if(o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function get$1(e,t){for(var n,o=0,r=e.length;o<r;++o)if((n=e[o]).name===t)return n.value}function set$1(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=noop$1,e=e.slice(0,o).concat(e.slice(o+1));break}return null!=n&&e.push({name:t,value:n}),e}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(e,t){var n,o=this._,r=parseTypenames$1(e+"",o),i=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++i<s;)if(n=(e=r[i]).type)o[n]=set$1(o[n],e.name,t);else if(null==t)for(n in o)o[n]=set$1(o[n],e.name,null);return this}for(;++i<s;)if((n=(e=r[i]).type)&&(n=get$1(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Dispatch(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,o,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,n=(o=this._[e]).length;i<n;++i)o[i].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};var xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),namespaces.hasOwnProperty(t)?{space:namespaces[t],local:e}:e}function creatorInherit(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===xhtml&&t.documentElement.namespaceURI===xhtml?t.createElement(e):t.createElementNS(n,e)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator(e){var t=namespace(e);return(t.local?creatorFixed:creatorInherit)(t)}function none(){}function selector$h(e){return null==e?none:function(){return this.querySelector(e)}}function selection_select(e){"function"!=typeof e&&(e=selector$h(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s,a=t[r],l=a.length,c=o[r]=new Array(l),u=0;u<l;++u)(i=a[u])&&(s=e.call(i,i.__data__,u,a))&&("__data__"in i&&(s.__data__=i.__data__),c[u]=s);return new Selection$1(o,this._parents)}function array(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function empty(){return[]}function selectorAll(e){return null==e?empty:function(){return this.querySelectorAll(e)}}function arrayAll(e){return function(){return array(e.apply(this,arguments))}}function selection_selectAll(e){e="function"==typeof e?arrayAll(e):selectorAll(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s,a=t[i],l=a.length,c=0;c<l;++c)(s=a[c])&&(o.push(e.call(s,s.__data__,c,a)),r.push(s));return new Selection$1(o,r)}function matcher(e){return function(){return this.matches(e)}}function childMatcher(e){return function(t){return t.matches(e)}}var find=Array.prototype.find;function childFind(e){return function(){return find.call(this.children,e)}}function childFirst(){return this.firstElementChild}function selection_selectChild(e){return this.select(null==e?childFirst:childFind("function"==typeof e?e:childMatcher(e)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(e){return function(){return filter.call(this.children,e)}}function selection_selectChildren(e){return this.selectAll(null==e?children:childrenFilter("function"==typeof e?e:childMatcher(e)))}function selection_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s=t[r],a=s.length,l=o[r]=[],c=0;c<a;++c)(i=s[c])&&e.call(i,i.__data__,c,s)&&l.push(i);return new Selection$1(o,this._parents)}function sparse(e){return new Array(e.length)}function selection_enter(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function constant$3(e){return function(){return e}}function bindIndex(e,t,n,o,r,i){for(var s,a=0,l=t.length,c=i.length;a<c;++a)(s=t[a])?(s.__data__=i[a],o[a]=s):n[a]=new EnterNode(e,i[a]);for(;a<l;++a)(s=t[a])&&(r[a]=s)}function bindKey(e,t,n,o,r,i,s){var a,l,c,u=new Map,d=t.length,h=i.length,p=new Array(d);for(a=0;a<d;++a)(l=t[a])&&(p[a]=c=s.call(l,l.__data__,a,t)+"",u.has(c)?r[a]=l:u.set(c,l));for(a=0;a<h;++a)c=s.call(e,i[a],a,i)+"",(l=u.get(c))?(o[a]=l,l.__data__=i[a],u.delete(c)):n[a]=new EnterNode(e,i[a]);for(a=0;a<d;++a)(l=t[a])&&u.get(p[a])===l&&(r[a]=l)}function datum(e){return e.__data__}function selection_data(e,t){if(!arguments.length)return Array.from(this,datum);var n=t?bindKey:bindIndex,o=this._parents,r=this._groups;"function"!=typeof e&&(e=constant$3(e));for(var i=r.length,s=new Array(i),a=new Array(i),l=new Array(i),c=0;c<i;++c){var u=o[c],d=r[c],h=d.length,p=arraylike(e.call(u,u&&u.__data__,c,o)),g=p.length,f=a[c]=new Array(g),m=s[c]=new Array(g),y=l[c]=new Array(h);n(u,d,f,m,y,p,t);for(var x,S,v=0,b=0;v<g;++v)if(x=f[v]){for(v>=b&&(b=v+1);!(S=m[b])&&++b<g;);x._next=S||null}}return(s=new Selection$1(s,o))._enter=a,s._exit=l,s}function arraylike(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function selection_exit(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)}function selection_join(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}function selection_merge(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),a=new Array(r),l=0;l<s;++l)for(var c,u=n[l],d=o[l],h=u.length,p=a[l]=new Array(h),g=0;g<h;++g)(c=u[g]||d[g])&&(p[g]=c);for(;l<r;++l)a[l]=n[l];return new Selection$1(a,this._parents)}function selection_order(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o,r=e[t],i=r.length-1,s=r[i];--i>=0;)(o=r[i])&&(s&&4^o.compareDocumentPosition(s)&&s.parentNode.insertBefore(o,s),s=o);return this}function selection_sort(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=ascending);for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s,a=n[i],l=a.length,c=r[i]=new Array(l),u=0;u<l;++u)(s=a[u])&&(c[u]=s);c.sort(t)}return new Selection$1(r,this._parents).order()}function ascending(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function selection_call(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){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 s=o[r];if(s)return s}return null}function selection_size(){let e=0;for(const t of this)++e;return e}function selection_empty(){return!this.node()}function selection_each(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r,i=t[n],s=0,a=i.length;s<a;++s)(r=i[s])&&e.call(r,r.__data__,s,i);return this}function attrRemove$1(e){return function(){this.removeAttribute(e)}}function attrRemoveNS$1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant$1(e,t){return function(){this.setAttribute(e,t)}}function attrConstantNS$1(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function attrFunction$1(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function attrFunctionNS$1(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 selection_attr(e,t){var n=namespace(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?attrRemoveNS$1:attrRemove$1:"function"==typeof t?n.local?attrFunctionNS$1:attrFunction$1:n.local?attrConstantNS$1:attrConstant$1)(n,t))}function defaultView(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function styleRemove$1(e){return function(){this.style.removeProperty(e)}}function styleConstant$1(e,t,n){return function(){this.style.setProperty(e,t,n)}}function styleFunction$1(e,t,n){return function(){var o=t.apply(this,arguments);null==o?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function selection_style(e,t,n){return arguments.length>1?this.each((null==t?styleRemove$1:"function"==typeof t?styleFunction$1:styleConstant$1)(e,t,null==n?"":n)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||defaultView(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function selection_property(e,t){return arguments.length>1?this.each((null==t?propertyRemove:"function"==typeof t?propertyFunction:propertyConstant)(e,t)):this.node()[e]}function classArray(e){return e.trim().split(/^|\s+/)}function classList(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute("class")||"")}function classedAdd(e,t){for(var n=classList(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function classedRemove(e,t){for(var n=classList(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function classedTrue(e){return function(){classedAdd(this,e)}}function classedFalse(e){return function(){classedRemove(this,e)}}function classedFunction(e,t){return function(){(t.apply(this,arguments)?classedAdd:classedRemove)(this,e)}}function selection_classed(e,t){var n=classArray(e+"");if(arguments.length<2){for(var o=classList(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?classedFunction:t?classedTrue:classedFalse)(n,t))}function textRemove(){this.textContent=""}function textConstant$1(e){return function(){this.textContent=e}}function textFunction$1(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function selection_text(e){return arguments.length?this.each(null==e?textRemove:("function"==typeof e?textFunction$1:textConstant$1)(e)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(e){return function(){this.innerHTML=e}}function htmlFunction(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function selection_html(e){return arguments.length?this.each(null==e?htmlRemove:("function"==typeof e?htmlFunction:htmlConstant)(e)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(e){var t="function"==typeof e?e:creator(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))}function constantNull(){return null}function selection_insert(e,t){var n="function"==typeof e?e:creator(e),o=null==t?constantNull:"function"==typeof t?t:selector$h(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)}))}function remove(){var e=this.parentNode;e&&e.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_cloneDeep(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_clone(e){return this.select(e?selection_cloneDeep:selection_cloneShallow)}function selection_datum(e){return arguments.length?this.property("__data__",e):this.node().__data__}function contextListener(e){return function(t){e.call(this,t,this.__data__)}}function parseTypenames(e){return 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}}))}function onRemove(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 onAdd(e,t,n){return function(){var o,r=this.__on,i=contextListener(t);if(r)for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===e.type&&o.name===e.name)return this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),void(o.value=t);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 selection_on(e,t,n){var o,r,i=parseTypenames(e+""),s=i.length;if(!(arguments.length<2)){for(a=t?onAdd:onRemove,o=0;o<s;++o)this.each(a(i[o],t,n));return this}var a=this.node().__on;if(a)for(var l,c=0,u=a.length;c<u;++c)for(o=0,l=a[c];o<s;++o)if((r=i[o]).type===l.type&&r.name===l.name)return l.value}function dispatchEvent(e,t,n){var o=defaultView(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)}function dispatchConstant(e,t){return function(){return dispatchEvent(this,e,t)}}function dispatchFunction(e,t){return function(){return dispatchEvent(this,e,t.apply(this,arguments))}}function selection_dispatch(e,t){return this.each(("function"==typeof t?dispatchFunction:dispatchConstant)(e,t))}function*selection_iterator(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o,r=e[t],i=0,s=r.length;i<s;++i)(o=r[i])&&(yield o)}EnterNode.prototype={constructor:EnterNode,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)}},ClassList.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var root$2=[null];function Selection$1(e,t){this._groups=e,this._parents=t}function selection(){return new Selection$1([[document.documentElement]],root$2)}function selection_selection(){return this}function select(e){return"string"==typeof e?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],root$2)}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};var nextId=0;function Local(){this._="@"+(++nextId).toString(36)}function sourceEvent(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pointer(e,t){if(e=sourceEvent(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]}Local.prototype={constructor:Local,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};const nonpassive={passive:!1},nonpassivecapture={capture:!0,passive:!1};function nopropagation$1(e){e.stopImmediatePropagation()}function noevent$1(e){e.preventDefault(),e.stopImmediatePropagation()}function dragDisable(e){var t=e.document.documentElement,n=select(e).on("dragstart.drag",noevent$1,nonpassivecapture);"onselectstart"in t?n.on("selectstart.drag",noevent$1,nonpassivecapture):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function yesdrag(e,t){var n=e.document.documentElement,o=select(e).on("dragstart.drag",null);t&&(o.on("click.drag",noevent$1,nonpassivecapture),setTimeout((function(){o.on("click.drag",null)}),0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var constant$2=e=>()=>e;function DragEvent(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:a,dx:l,dy:c,dispatch:u}){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:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function defaultFilter$1(e){return!e.ctrlKey&&!e.button}function defaultContainer(){return this.parentNode}function defaultSubject(e,t){return null==t?{x:e.x,y:e.y}:t}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function drag(){var e,t,n,o,r=defaultFilter$1,i=defaultContainer,s=defaultSubject,a=defaultTouchable$1,l={},c=dispatch("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",p).filter(a).on("touchstart.drag",m).on("touchmove.drag",y,nonpassive).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(s,a){if(!o&&r.call(this,s,a)){var l=S(this,i.call(this,s,a),s,a,"mouse");l&&(select(s.view).on("mousemove.drag",g,nonpassivecapture).on("mouseup.drag",f,nonpassivecapture),dragDisable(s.view),nopropagation$1(s),n=!1,e=s.clientX,t=s.clientY,l("start",s))}}function g(o){if(noevent$1(o),!n){var r=o.clientX-e,i=o.clientY-t;n=r*r+i*i>d}l.mouse("drag",o)}function f(e){select(e.view).on("mousemove.drag mouseup.drag",null),yesdrag(e.view,n),noevent$1(e),l.mouse("end",e)}function m(e,t){if(r.call(this,e,t)){var n,o,s=e.changedTouches,a=i.call(this,e,t),l=s.length;for(n=0;n<l;++n)(o=S(this,a,e,t,s[n].identifier,s[n]))&&(nopropagation$1(e),o("start",e,s[n]))}}function y(e){var t,n,o=e.changedTouches,r=o.length;for(t=0;t<r;++t)(n=l[o[t].identifier])&&(noevent$1(e),n("drag",e,o[t]))}function x(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=l[r[t].identifier])&&(nopropagation$1(e),n("end",e,r[t]))}function S(e,t,n,o,r,i){var a,d,p,g=c.copy(),f=pointer(i||n,t);if(null!=(p=s.call(e,new DragEvent("beforestart",{sourceEvent:n,target:h,identifier:r,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:g}),o)))return a=p.x-f[0]||0,d=p.y-f[1]||0,function n(i,s,c){var m,y=f;switch(i){case"start":l[r]=n,m=u++;break;case"end":delete l[r],--u;case"drag":f=pointer(c||s,t),m=u}g.call(i,e,new DragEvent(i,{sourceEvent:s,subject:p,target:h,identifier:r,active:m,x:f[0]+a,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:g}),o)}}return h.filter=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(!!e),h):r},h.container=function(e){return arguments.length?(i="function"==typeof e?e:constant$2(e),h):i},h.subject=function(e){return arguments.length?(s="function"==typeof e?e:constant$2(e),h):s},h.touchable=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(!!e),h):a},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,h):Math.sqrt(d)},h}function define(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function extend(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function Color(){}DragEvent.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=reHex.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?rgbn(t):3===n?new Rgb(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?rgba(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?rgba(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=reRgbInteger.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=reRgbPercent.exec(e))?new Rgb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=reRgbaPercent.exec(e))?rgba(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):named.hasOwnProperty(e)?rgbn(named[e]):"transparent"===e?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,255&e,1)}function rgba(e,t,n,o){return o<=0&&(e=t=n=NaN),new Rgb(e,t,n,o)}function rgbConvert(e){return e instanceof Color||(e=color(e)),e?new Rgb((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb}function rgb(e,t,n,o){return 1===arguments.length?rgbConvert(e):new Rgb(e,t,n,null==o?1:o)}function Rgb(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb(){const e=clampa(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===e?")":`, ${e})`}`}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex(e){return((e=clampi(e))<16?"0":"")+e.toString(16)}function hsla(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,n,o)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(e instanceof Color||(e=color(e)),!e)return new Hsl;if(e instanceof Hsl)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),s=NaN,a=i-r,l=(i+r)/2;return a?(s=t===i?(n-o)/a+6*(n<o):n===i?(o-t)/a+2:(t-n)/a+4,a/=l<.5?i+r:2-i-r,s*=60):a=l>0&&l<1?0:s,new Hsl(s,a,l,e.opacity)}function hsl(e,t,n,o){return 1===arguments.length?hslConvert(e):new Hsl(e,t,n,null==o?1:o)}function Hsl(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}function clamph(e){return(e=(e||0)%360)<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}define(Color,color,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb}),define(Rgb,rgb,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(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:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb})),define(Hsl,hsl,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),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 Rgb(hsl2rgb(e>=240?e-240:e+120,r,o),hsl2rgb(e,r,o),hsl2rgb(e<120?e+240:e-120,r,o),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===e?")":`, ${e})`}`}}));const radians=Math.PI/180,degrees$1=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(e){if(e instanceof Lab)return new Lab(e.l,e.a,e.b,e.opacity);if(e instanceof Hcl)return hcl2lab(e);e instanceof Rgb||(e=rgbConvert(e));var t,n,o=rgb2lrgb(e.r),r=rgb2lrgb(e.g),i=rgb2lrgb(e.b),s=xyz2lab((.2225045*o+.7168786*r+.0606169*i)/Yn);return o===r&&r===i?t=n=s:(t=xyz2lab((.4360747*o+.3850649*r+.1430804*i)/Xn),n=xyz2lab((.0139322*o+.0971045*r+.7141733*i)/Zn)),new Lab(116*s-16,500*(t-s),200*(s-n),e.opacity)}function lab(e,t,n,o){return 1===arguments.length?labConvert(e):new Lab(e,t,n,null==o?1:o)}function Lab(e,t,n,o){this.l=+e,this.a=+t,this.b=+n,this.opacity=+o}function xyz2lab(e){return e>t3?Math.pow(e,1/3):e/t2+t0}function lab2xyz(e){return e>t1?e*e*e:t2*(e-t0)}function lrgb2rgb(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function rgb2lrgb(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function hclConvert(e){if(e instanceof Hcl)return new Hcl(e.h,e.c,e.l,e.opacity);if(e instanceof Lab||(e=labConvert(e)),0===e.a&&0===e.b)return new Hcl(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*degrees$1;return new Hcl(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function hcl(e,t,n,o){return 1===arguments.length?hclConvert(e):new Hcl(e,t,n,null==o?1:o)}function Hcl(e,t,n,o){this.h=+e,this.c=+t,this.l=+n,this.opacity=+o}function hcl2lab(e){if(isNaN(e.h))return new Lab(e.l,0,0,e.opacity);var t=e.h*radians;return new Lab(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}define(Lab,lab,extend(Color,{brighter(e){return new Lab(this.l+K*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Lab(this.l-K*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new Rgb(lrgb2rgb(3.1338561*(t=Xn*lab2xyz(t))-1.6168667*(e=Yn*lab2xyz(e))-.4906146*(n=Zn*lab2xyz(n))),lrgb2rgb(-.9787684*t+1.9161415*e+.033454*n),lrgb2rgb(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter(e){return new Hcl(this.h,this.c,this.l+K*(null==e?1:e),this.opacity)},darker(e){return new Hcl(this.h,this.c,this.l-K*(null==e?1:e),this.opacity)},rgb(){return hcl2lab(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(e){if(e instanceof Cubehelix)return new Cubehelix(e.h,e.s,e.l,e.opacity);e instanceof Rgb||(e=rgbConvert(e));var t=e.r/255,n=e.g/255,o=e.b/255,r=(BC_DA*o+ED*t-EB*n)/(BC_DA+ED-EB),i=o-r,s=(E*(n-r)-C*i)/D,a=Math.sqrt(s*s+i*i)/(E*r*(1-r)),l=a?Math.atan2(s,i)*degrees$1-120:NaN;return new Cubehelix(l<0?l+360:l,a,r,e.opacity)}function cubehelix$1(e,t,n,o){return 1===arguments.length?cubehelixConvert(e):new Cubehelix(e,t,n,null==o?1:o)}function Cubehelix(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}define(Cubehelix,cubehelix$1,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*radians,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),o=Math.cos(e),r=Math.sin(e);return new Rgb(255*(t+n*(A*o+B*r)),255*(t+n*(C*o+D*r)),255*(t+n*(E*o)),this.opacity)}}));var constant$1=e=>()=>e;function linear(e,t){return function(n){return e+n*t}}function exponential(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function hue(e,t){var n=t-e;return n?linear(e,n>180||n<-180?n-360*Math.round(n/360):n):constant$1(isNaN(e)?t:e)}function gamma(e){return 1==(e=+e)?nogamma:function(t,n){return n-t?exponential(t,n,e):constant$1(isNaN(t)?n:t)}}function nogamma(e,t){var n=t-e;return n?linear(e,n):constant$1(isNaN(e)?t:e)}var interpolateRgb=function e(t){var n=gamma(t);function o(e,t){var o=n((e=rgb(e)).r,(t=rgb(t)).r),r=n(e.g,t.g),i=n(e.b,t.b),s=nogamma(e.opacity,t.opacity);return function(t){return e.r=o(t),e.g=r(t),e.b=i(t),e.opacity=s(t),e+""}}return o.gamma=e,o}(1);function interpolateNumber(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(e){return function(){return e}}function one(e){return function(t){return e(t)+""}}function interpolateString(e,t){var n,o,r,i=reA.lastIndex=reB.lastIndex=0,s=-1,a=[],l=[];for(e+="",t+="";(n=reA.exec(e))&&(o=reB.exec(t));)(r=o.index)>i&&(r=t.slice(i,r),a[s]?a[s]+=r:a[++s]=r),(n=n[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,l.push({i:s,x:interpolateNumber(n,o)})),i=reB.lastIndex;return i<t.length&&(r=t.slice(i),a[s]?a[s]+=r:a[++s]=r),a.length<2?l[0]?one(l[0].x):zero(t):(t=l.length,function(e){for(var n,o=0;o<t;++o)a[(n=l[o]).i]=n.x(e);return a.join("")})}var degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},svgNode;function decompose(e,t,n,o,r,i){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*degrees,skewX:Math.atan(l)*degrees,scaleX:s,scaleY:a}}function parseCss(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?identity$1:decompose(t.a,t.b,t.c,t.d,t.e,t.f)}function parseSvg(e){return null==e?identity$1:(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",e),(e=svgNode.transform.baseVal.consolidate())?decompose((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):identity$1)}function interpolateTransform(e,t,n,o){function r(e){return e.length?e.pop()+" ":""}return function(i,s){var a=[],l=[];return i=e(i),s=e(s),function(e,o,r,i,s,a){if(e!==r||o!==i){var l=s.push("translate(",null,t,null,n);a.push({i:l-4,x:interpolateNumber(e,r)},{i:l-2,x:interpolateNumber(o,i)})}else(r||i)&&s.push("translate("+r+t+i+n)}(i.translateX,i.translateY,s.translateX,s.translateY,a,l),function(e,t,n,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:n.push(r(n)+"rotate(",null,o)-2,x:interpolateNumber(e,t)})):t&&n.push(r(n)+"rotate("+t+o)}(i.rotate,s.rotate,a,l),function(e,t,n,i){e!==t?i.push({i:n.push(r(n)+"skewX(",null,o)-2,x:interpolateNumber(e,t)}):t&&n.push(r(n)+"skewX("+t+o)}(i.skewX,s.skewX,a,l),function(e,t,n,o,i,s){if(e!==n||t!==o){var a=i.push(r(i)+"scale(",null,",",null,")");s.push({i:a-4,x:interpolateNumber(e,n)},{i:a-2,x:interpolateNumber(t,o)})}else 1===n&&1===o||i.push(r(i)+"scale("+n+","+o+")")}(i.scaleX,i.scaleY,s.scaleX,s.scaleY,a,l),i=s=null,function(e){for(var t,n=-1,o=l.length;++n<o;)a[(t=l[n]).i]=t.x(e);return a.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),epsilon2=1e-12;function cosh(e){return((e=Math.exp(e))+1/e)/2}function sinh(e){return((e=Math.exp(e))-1/e)/2}function tanh(e){return((e=Math.exp(2*e))-1)/(e+1)}var interpolateZoom=function e(t,n,o){function r(e,r){var i,s,a=e[0],l=e[1],c=e[2],u=r[0],d=r[1],h=r[2],p=u-a,g=d-l,f=p*p+g*g;if(f<epsilon2)s=Math.log(h/c)/t,i=function(e){return[a+e*p,l+e*g,c*Math.exp(t*e*s)]};else{var m=Math.sqrt(f),y=(h*h-c*c+o*f)/(2*c*n*m),x=(h*h-c*c-o*f)/(2*h*n*m),S=Math.log(Math.sqrt(y*y+1)-y),v=Math.log(Math.sqrt(x*x+1)-x);s=(v-S)/t,i=function(e){var o=e*s,r=cosh(S),i=c/(n*m)*(r*tanh(t*o+S)-sinh(S));return[a+i*p,l+i*g,c*r/cosh(t*o+S)]}}return i.duration=1e3*s*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);function cubehelix(e){return function t(n){function o(t,o){var r=e((t=cubehelix$1(t)).h,(o=cubehelix$1(o)).h),i=nogamma(t.s,o.s),s=nogamma(t.l,o.l),a=nogamma(t.opacity,o.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=s(Math.pow(e,n)),t.opacity=a(e),t+""}}return n=+n,o.gamma=t,o}(1)}cubehelix(hue),cubehelix(nogamma);var frame=0,timeout$1=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock="object"==typeof performance&&performance.now?performance:Date,setFrame="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}function timer(e,t,n){var o=new Timer;return o.restart(e,t,n),o}function timerFlush(){now(),++frame;for(var e,t=taskHead;t;)(e=clockNow-t._time)>=0&&t._call.call(void 0,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var e=clock.now(),t=e-clockLast;t>pokeDelay&&(clockSkew-=t,clockLast=e)}function nap(){for(var e,t,n=taskHead,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:taskHead=t);taskTail=e,sleep(o)}function sleep(e){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),e-clockNow>24?(e<1/0&&(timeout$1=setTimeout(wake,e-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake)))}function timeout(e,t,n){var o=new Timer;return t=null==t?0:+t,o.restart((n=>{o.stop(),e(n+t)}),t,n),o}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?now():+n)+(null==t?0:+t),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=e,this._time=n,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(e,t,n,o,r,i){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};create(e,n,{name:t,index:o,group:r,on:emptyOn,tween:emptyTween,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:CREATED})}function init(e,t){var n=get(e,t);if(n.state>CREATED)throw new Error("too late; already scheduled");return n}function set(e,t){var n=get(e,t);if(n.state>STARTED)throw new Error("too late; already running");return n}function get(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function create(e,t,n){var o,r=e.__transition;function i(l){var c,u,d,h;if(n.state!==SCHEDULED)return a();for(c in r)if((h=r[c]).name===n.name){if(h.state===STARTED)return timeout(i);h.state===RUNNING?(h.state=ENDED,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+c<t&&(h.state=ENDED,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[c])}if(timeout((function(){n.state===STARTED&&(n.state=RUNNING,n.timer.restart(s,n.delay,n.time),s(l))})),n.state=STARTING,n.on.call("start",e,e.__data__,n.index,n.group),n.state===STARTING){for(n.state=STARTED,o=new Array(d=n.tween.length),c=0,u=-1;c<d;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(o[++u]=h);o.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(a),n.state=ENDING,1),i=-1,s=o.length;++i<s;)o[i].call(e,r);n.state===ENDING&&(n.on.call("end",e,e.__data__,n.index,n.group),a())}function a(){for(var o in n.state=ENDED,n.timer.stop(),delete r[t],r)return;delete e.__transition}r[t]=n,n.timer=timer((function(e){n.state=SCHEDULED,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)}),0,n.time)}function interrupt(e,t){var n,o,r,i=e.__transition,s=!0;if(i){for(r in t=null==t?null:t+"",i)(n=i[r]).name===t?(o=n.state>STARTING&&n.state<ENDING,n.state=ENDED,n.timer.stop(),n.on.call(o?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[r]):s=!1;s&&delete e.__transition}}function selection_interrupt(e){return this.each((function(){interrupt(this,e)}))}function tweenRemove(e,t){var n,o;return function(){var r=set(this,e),i=r.tween;if(i!==n)for(var s=0,a=(o=n=i).length;s<a;++s)if(o[s].name===t){(o=o.slice()).splice(s,1);break}r.tween=o}}function tweenFunction(e,t,n){var o,r;if("function"!=typeof n)throw new Error;return function(){var i=set(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var a={name:t,value:n},l=0,c=r.length;l<c;++l)if(r[l].name===t){r[l]=a;break}l===c&&r.push(a)}i.tween=r}}function transition_tween(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o,r=get(this.node(),n).tween,i=0,s=r.length;i<s;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((null==t?tweenRemove:tweenFunction)(n,e,t))}function tweenValue(e,t,n){var o=e._id;return e.each((function(){var e=set(this,o);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return get(e,o).value[t]}}function interpolate(e,t){var n;return("number"==typeof t?interpolateNumber:t instanceof color?interpolateRgb:(n=color(t))?(t=n,interpolateRgb):interpolateString)(e,t)}function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(e,t,n){var o,r,i=n+"";return function(){var s=this.getAttribute(e);return s===i?null:s===o?r:r=t(o=s,n)}}function attrConstantNS(e,t,n){var o,r,i=n+"";return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===o?r:r=t(o=s,n)}}function attrFunction(e,t,n){var o,r,i;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttribute(e))===(a=l+"")?null:s===o&&a===r?i:(r=a,i=t(o=s,l));this.removeAttribute(e)}}function attrFunctionNS(e,t,n){var o,r,i;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttributeNS(e.space,e.local))===(a=l+"")?null:s===o&&a===r?i:(r=a,i=t(o=s,l));this.removeAttributeNS(e.space,e.local)}}function transition_attr(e,t){var n=namespace(e),o="transform"===n?interpolateTransformSvg:interpolate;return this.attrTween(e,"function"==typeof t?(n.local?attrFunctionNS:attrFunction)(n,o,tweenValue(this,"attr."+e,t)):null==t?(n.local?attrRemoveNS:attrRemove)(n):(n.local?attrConstantNS:attrConstant)(n,o,t))}function attrInterpolate(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function attrInterpolateNS(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function attrTweenNS(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&attrInterpolateNS(e,r)),n}return r._value=t,r}function attrTween(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&attrInterpolate(e,r)),n}return r._value=t,r}function transition_attrTween(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 new Error;var o=namespace(e);return this.tween(n,(o.local?attrTweenNS:attrTween)(o,t))}function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function transition_delay(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?delayFunction:delayConstant)(t,e)):get(this.node(),t).delay}function durationFunction(e,t){return function(){set(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set(this,e).duration=t}}function transition_duration(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?durationFunction:durationConstant)(t,e)):get(this.node(),t).duration}function easeConstant(e,t){if("function"!=typeof t)throw new Error;return function(){set(this,e).ease=t}}function transition_ease(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get(this.node(),t).ease}function easeVarying(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;set(this,e).ease=n}}function transition_easeVarying(e){if("function"!=typeof e)throw new Error;return this.each(easeVarying(this._id,e))}function transition_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s=t[r],a=s.length,l=o[r]=[],c=0;c<a;++c)(i=s[c])&&e.call(i,i.__data__,c,s)&&l.push(i);return new Transition(o,this._parents,this._name,this._id)}function transition_merge(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),a=0;a<i;++a)for(var l,c=t[a],u=n[a],d=c.length,h=s[a]=new Array(d),p=0;p<d;++p)(l=c[p]||u[p])&&(h[p]=l);for(;a<o;++a)s[a]=t[a];return new Transition(s,this._parents,this._name,this._id)}function start(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}function onFunction(e,t,n){var o,r,i=start(t)?init:set;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function transition_on(e,t){var n=this._id;return arguments.length<2?get(this.node(),n).on.on(e):this.each(onFunction(n,e,t))}function removeFunction(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selector$h(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var a,l,c=o[s],u=c.length,d=i[s]=new Array(u),h=0;h<u;++h)(a=c[h])&&(l=e.call(a,a.__data__,h,c))&&("__data__"in a&&(l.__data__=a.__data__),d[h]=l,schedule(d[h],t,n,h,d,get(a,n)));return new Transition(i,this._parents,t,n)}function transition_selectAll(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selectorAll(e));for(var o=this._groups,r=o.length,i=[],s=[],a=0;a<r;++a)for(var l,c=o[a],u=c.length,d=0;d<u;++d)if(l=c[d]){for(var h,p=e.call(l,l.__data__,d,c),g=get(l,n),f=0,m=p.length;f<m;++f)(h=p[f])&&schedule(h,t,n,f,p,g);i.push(p),s.push(l)}return new Transition(i,s,t,n)}var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleNull(e,t){var n,o,r;return function(){var i=styleValue(this,e),s=(this.style.removeProperty(e),styleValue(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(e,t,n){var o,r,i=n+"";return function(){var s=styleValue(this,e);return s===i?null:s===o?r:r=t(o=s,n)}}function styleFunction(e,t,n){var o,r,i;return function(){var s=styleValue(this,e),a=n(this),l=a+"";return null==a&&(this.style.removeProperty(e),l=a=styleValue(this,e)),s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a))}}function styleMaybeRemove(e,t){var n,o,r,i,s="style."+t,a="end."+s;return function(){var l=set(this,e),c=l.on,u=null==l.value[s]?i||(i=styleRemove(t)):void 0;c===n&&r===u||(o=(n=c).copy()).on(a,r=u),l.on=o}}function transition_style(e,t,n){var o="transform"==(e+="")?interpolateTransformCss:interpolate;return null==t?this.styleTween(e,styleNull(e,o)).on("end.style."+e,styleRemove(e)):"function"==typeof t?this.styleTween(e,styleFunction(e,o,tweenValue(this,"style."+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,o,t),n).on("end.style."+e,null)}function styleInterpolate(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function styleTween(e,t,n){var o,r;function i(){var i=t.apply(this,arguments);return i!==r&&(o=(r=i)&&styleInterpolate(e,i,n)),o}return i._value=t,i}function transition_styleTween(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 new Error;return this.tween(o,styleTween(e,t,null==n?"":n))}function textConstant(e){return function(){this.textContent=e}}function textFunction(e){return function(){var t=e(this);this.textContent=null==t?"":t}}function transition_text(e){return this.tween("text","function"==typeof e?textFunction(tweenValue(this,"text",e)):textConstant(null==e?"":e+""))}function textInterpolate(e){return function(t){this.textContent=e.call(this,t)}}function textTween(e){var t,n;function o(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&textInterpolate(o)),t}return o._value=e,o}function transition_textTween(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 new Error;return this.tween(t,textTween(e))}function transition_transition(){for(var e=this._name,t=this._id,n=newId(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s,a=o[i],l=a.length,c=0;c<l;++c)if(s=a[c]){var u=get(s,t);schedule(s,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Transition(o,this._parents,e,n)}function transition_end(){var e,t,n=this,o=n._id,r=n.size();return new Promise((function(i,s){var a={value:s},l={value:function(){0==--r&&i()}};n.each((function(){var n=set(this,o),r=n.on;r!==e&&((t=(e=r).copy())._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),n.on=t})),0===r&&i()}))}var id=0;function Transition(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function newId(){return++id}var selection_prototype=selection.prototype;function cubicInOut(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,easeVarying:transition_easeVarying,end:transition_end,[Symbol.iterator]:selection_prototype[Symbol.iterator]};var exponent=3;function tpmt(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}!function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(exponent),function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(exponent),function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(exponent);var overshoot=1.70158;!function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(overshoot),function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(overshoot),function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(overshoot);var tau=2*Math.PI,amplitude=1,period=.3;!function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return t*tpmt(- --e)*Math.sin((o-e)/n)}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period),function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return 1-t*tpmt(e=+e)*Math.sin((e+o)/n)}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period),function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return((e=2*e-1)<0?t*tpmt(-e)*Math.sin((o-e)/n):2-t*tpmt(e)*Math.sin((o+e)/n))/2}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period);var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function selection_transition(e){var t,n;e instanceof Transition?(t=e._id,e=e._name):(t=newId(),(n=defaultTiming).time=now(),e=null==e?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s,a=o[i],l=a.length,c=0;c<l;++c)(s=a[c])&&schedule(s,e,t,c,a,n||inherit(s,t));return new Transition(o,this._parents,e,t)}selection.prototype.interrupt=selection_interrupt,selection.prototype.transition=selection_transition;var constant=e=>()=>e;function ZoomEvent(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 Transform(e,t,n){this.k=e,this.x=t,this.y=n}Transform.prototype={constructor:Transform,scale:function(e){return 1===e?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Transform(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 identity=new Transform(1,0,0);function nopropagation(e){e.stopImmediatePropagation()}function noevent(e){e.preventDefault(),e.stopImmediatePropagation()}function defaultFilter(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function defaultExtent(){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 defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(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],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function zoom(){var e,t,n,o=defaultFilter,r=defaultExtent,i=defaultConstrain,s=defaultWheelDelta,a=defaultTouchable,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=interpolateZoom,h=dispatch("start","zoom","end"),p=500,g=0,f=10;function m(e){e.property("__zoom",defaultTransform).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",C).filter(a).on("touchstart.zoom",N).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Transform(t,e.x,e.y)}function x(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 Transform(e.k,o,r)}function S(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,o){e.on("start.zoom",(function(){b(this,arguments).event(o).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(o).end()})).tween("zoom",(function(){var e=this,i=arguments,s=b(e,i).event(o),a=r.apply(e,i),l=null==n?S(a):"function"==typeof n?n.apply(e,i):n,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,i):t,p=d(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=p(e),n=c/t[2];e=new Transform(n,l[0]-t[0]*n,l[1]-t[1]*n)}s.zoom(null,e)}}))}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=r.apply(e,t),this.taps=0}function _(e,...t){if(o.apply(this,arguments)){var n=b(this,t).event(e),r=this.__zoom,a=Math.max(l[0],Math.min(l[1],r.k*Math.pow(2,s.apply(this,arguments)))),u=pointer(e);if(n.wheel)n.mouse[0][0]===u[0]&&n.mouse[0][1]===u[1]||(n.mouse[1]=r.invert(n.mouse[0]=u)),clearTimeout(n.wheel);else{if(r.k===a)return;n.mouse=[u,r.invert(u)],interrupt(this),n.start()}noevent(e),n.wheel=setTimeout(d,150),n.zoom("mouse",i(x(y(r,a),n.mouse[0],n.mouse[1]),n.extent,c))}function d(){n.wheel=null,n.end()}}function E(e,...t){if(!n&&o.apply(this,arguments)){var r=e.currentTarget,s=b(this,t,!0).event(e),a=select(e.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",p,!0),l=pointer(e,r),u=e.clientX,d=e.clientY;dragDisable(e.view),nopropagation(e),s.mouse=[l,this.__zoom.invert(l)],interrupt(this),s.start()}function h(e){if(noevent(e),!s.moved){var t=e.clientX-u,n=e.clientY-d;s.moved=t*t+n*n>g}s.event(e).zoom("mouse",i(x(s.that.__zoom,s.mouse[0]=pointer(e,r),s.mouse[1]),s.extent,c))}function p(e){a.on("mousemove.zoom mouseup.zoom",null),yesdrag(e.view,s.moved),noevent(e),s.event(e).end()}}function C(e,...t){if(o.apply(this,arguments)){var n=this.__zoom,s=pointer(e.changedTouches?e.changedTouches[0]:e,this),a=n.invert(s),l=n.k*(e.shiftKey?.5:2),d=i(x(y(n,l),s,a),r.apply(this,t),c);noevent(e),u>0?select(this).transition().duration(u).call(v,d,s,e):select(this).call(m.transform,d,s,e)}}function N(n,...r){if(o.apply(this,arguments)){var i,s,a,l,c=n.touches,u=c.length,d=b(this,r,n.changedTouches.length===u).event(n);for(nopropagation(n),s=0;s<u;++s)l=[l=pointer(a=c[s],this),this.__zoom.invert(l),a.identifier],d.touch0?d.touch1||d.touch0[2]===l[2]||(d.touch1=l,d.taps=0):(d.touch0=l,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=l[0],e=setTimeout((function(){e=null}),p)),interrupt(this),d.start())}}function $(e,...t){if(this.__zooming){var n,o,r,s,a=b(this,t).event(e),l=e.changedTouches,u=l.length;for(noevent(e),n=0;n<u;++n)r=pointer(o=l[n],this),a.touch0&&a.touch0[2]===o.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===o.identifier&&(a.touch1[0]=r);if(o=a.that.__zoom,a.touch1){var d=a.touch0[0],h=a.touch0[1],p=a.touch1[0],g=a.touch1[1],f=(f=p[0]-d[0])*f+(f=p[1]-d[1])*f,m=(m=g[0]-h[0])*m+(m=g[1]-h[1])*m;o=y(o,Math.sqrt(f/m)),r=[(d[0]+p[0])/2,(d[1]+p[1])/2],s=[(h[0]+g[0])/2,(h[1]+g[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],s=a.touch0[1]}a.zoom("touch",i(x(o,r,s),a.extent,c))}}function M(e,...o){if(this.__zooming){var r,i,s=b(this,o).event(e),a=e.changedTouches,l=a.length;for(nopropagation(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),p),r=0;r<l;++r)i=a[r],s.touch0&&s.touch0[2]===i.identifier?delete s.touch0:s.touch1&&s.touch1[2]===i.identifier&&delete s.touch1;if(s.touch1&&!s.touch0&&(s.touch0=s.touch1,delete s.touch1),s.touch0)s.touch0[1]=this.__zoom.invert(s.touch0[0]);else if(s.end(),2===s.taps&&(i=pointer(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<f)){var c=select(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return m.transform=function(e,t,n,o){var r=e.selection?e.selection():e;r.property("__zoom",defaultTransform),e!==r?v(e,t,n,o):r.interrupt().each((function(){b(this,arguments).event(o).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()}))},m.scaleBy=function(e,t,n,o){m.scaleTo(e,(function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n}),n,o)},m.scaleTo=function(e,t,n,o){m.transform(e,(function(){var e=r.apply(this,arguments),o=this.__zoom,s=null==n?S(e):"function"==typeof n?n.apply(this,arguments):n,a=o.invert(s),l="function"==typeof t?t.apply(this,arguments):t;return i(x(y(o,l),s,a),e,c)}),n,o)},m.translateBy=function(e,t,n,o){m.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),c)}),null,o)},m.translateTo=function(e,t,n,o,s){m.transform(e,(function(){var e=r.apply(this,arguments),s=this.__zoom,a=null==o?S(e):"function"==typeof o?o.apply(this,arguments):o;return i(identity.translate(a[0],a[1]).scale(s.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)}),o,s)},w.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=select(this.that).datum();h.call(e,this.that,new ZoomEvent(e,{sourceEvent:this.sourceEvent,target:m,type:e,transform:this.that.__zoom,dispatch:h}),t)}},m.wheelDelta=function(e){return arguments.length?(s="function"==typeof e?e:constant(+e),m):s},m.filter=function(e){return arguments.length?(o="function"==typeof e?e:constant(!!e),m):o},m.touchable=function(e){return arguments.length?(a="function"==typeof e?e:constant(!!e),m):a},m.extent=function(e){return arguments.length?(r="function"==typeof e?e:constant([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),m):r},m.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],m):[l[0],l[1]]},m.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],m):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},m.constrain=function(e){return arguments.length?(i=e,m):i},m.duration=function(e){return arguments.length?(u=+e,m):u},m.interpolate=function(e){return arguments.length?(d=e,m):d},m.on=function(){var e=h.on.apply(h,arguments);return e===h?m:e},m.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,m):Math.sqrt(g)},m.tapDistance=function(e){return arguments.length?(f=+e,m):f},m}Transform.prototype;const StoreContext=require$$0.createContext(null),Provider$1=StoreContext.Provider,errorMessages={"001":()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001","002":()=>"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.","003":e=>`Node type "${e}" not found. Using fallback type "default".`,"004":()=>"The React Flow parent container needs a width and a height to render the graph.","005":()=>"Only child nodes can use a parent extent.","006":()=>"Can't create edge. An edge needs a source and a target.","007":e=>`The old edge with id=${e} does not exist.`,"009":e=>`Marker type "${e}" doesn't exist.`,"008":(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,"010":()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.","011":e=>`Edge type "${e}" not found. Using fallback type "default".`},zustandErrorMessage=errorMessages["001"]();function useStore(e,t){const n=require$$0.useContext(StoreContext);if(null===n)throw new Error(zustandErrorMessage);return useStore$1(n,e,t)}const useStoreApi=()=>{const e=require$$0.useContext(StoreContext);if(null===e)throw new Error(zustandErrorMessage);return require$$0.useMemo((()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy})),[e])},selector$g=e=>e.userSelectionActive?"none":"all";function Panel({position:e,children:t,className:n,style:o,...r}){const i=useStore(selector$g),s=`${e}`.split("-");return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__panel",n,...s]),style:{...o,pointerEvents:i},...r,children:t})}function Attribution({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:jsxRuntime.exports.jsx(Panel,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:jsxRuntime.exports.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const EdgeText=({x:e,y:t,label:n,labelStyle:o={},labelShowBg:r=!0,labelBgStyle:i={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:c,...u})=>{const d=require$$0.useRef(null),[h,p]=require$$0.useState({x:0,y:0,width:0,height:0}),g=cc(["react-flow__edge-textwrapper",c]);return require$$0.useEffect((()=>{if(d.current){const e=d.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}}),[n]),void 0!==n&&n?jsxRuntime.exports.jsxs("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:g,visibility:h.width?"visible":"hidden",...u,children:[r&&jsxRuntime.exports.jsx("rect",{width:h.width+2*s[0],x:-s[0],y:-s[1],height:h.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),jsxRuntime.exports.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:d,style:o,children:n}),l]}):null};var EdgeText$1=require$$0.memo(EdgeText);const getDimensions=e=>({width:e.offsetWidth,height:e.offsetHeight}),clamp=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),clampPosition=(e={x:0,y:0},t)=>({x:clamp(e.x,t[0][0],t[1][0]),y:clamp(e.y,t[0][1],t[1][1])}),calcAutoPanVelocity=(e,t,n)=>e<t?clamp(Math.abs(e-t),1,50)/50:e>n?-clamp(Math.abs(e-n),1,50)/50:0,calcAutoPan=(e,t)=>[20*calcAutoPanVelocity(e.x,35,t.width-35),20*calcAutoPanVelocity(e.y,35,t.height-35)],getHostForElement=e=>e.getRootNode?.()||window?.document,getBoundsOfBoxes=(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)}),rectToBox=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),boxToRect=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),nodeToRect=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),getBoundsOfRects=(e,t)=>boxToRect(getBoundsOfBoxes(rectToBox(e),rectToBox(t))),getOverlappingArea=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},isRectObject=e=>isNumeric(e.width)&&isNumeric(e.height)&&isNumeric(e.x)&&isNumeric(e.y),isNumeric=e=>!isNaN(e)&&isFinite(e),internalsSymbol=Symbol.for("internals"),elementSelectionKeys=["Enter"," ","Escape"],devWarn=(e,t)=>{},isReactKeyboardEvent=e=>"nativeEvent"in e;function isInputDOMNode(e){const t=(isReactKeyboardEvent(e)?e.nativeEvent:e).composedPath?.()?.[0]||e.target,n=["INPUT","SELECT","TEXTAREA"].includes(t?.nodeName)||t?.hasAttribute("contenteditable"),o=e.ctrlKey||e.metaKey||e.shiftKey;return n&&!o||!!t?.closest(".nokey")}const isMouseEvent=e=>"clientX"in e,getEventPosition=(e,t)=>{const n=isMouseEvent(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)}},BaseEdge=({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:l,style:c,markerEnd:u,markerStart:d,interactionWidth:h=20})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx("path",{style:c,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:u,markerStart:d}),h&&jsxRuntime.exports.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),o&&isNumeric(t)&&isNumeric(n)?jsxRuntime.exports.jsx(EdgeText$1,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:l}):null]});function getMouseHandler$1(e,t,n){return void 0===n?n:o=>{const r=t().edges.find((t=>t.id===e));r&&n(o,{...r})}}function getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o}){const r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2;return[i,o<t?o+s:o-s,r,s]}function getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:a}){const l=.125*e+.375*r+.375*s+.125*n,c=.125*t+.375*i+.375*a+.125*o;return[l,c,Math.abs(l-e),Math.abs(c-t)]}var ConnectionMode,PanOnScrollMode,SelectionMode,ConnectionLineType,MarkerType,Position;function getControl({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===Position.Left||e===Position.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top}){const[s,a]=getControl({pos:n,x1:e,y1:t,x2:o,y2:r}),[l,c]=getControl({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,d,h,p]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:c});return[`M${e},${t} C${s},${a} ${l},${c} ${o},${r}`,u,d,h,p]}BaseEdge.displayName="BaseEdge",function(e){e.Strict="strict",e.Loose="loose"}(ConnectionMode||(ConnectionMode={})),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(PanOnScrollMode||(PanOnScrollMode={})),function(e){e.Partial="partial",e.Full="full"}(SelectionMode||(SelectionMode={})),function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(ConnectionLineType||(ConnectionLineType={})),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(MarkerType||(MarkerType={})),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(Position||(Position={}));const SimpleBezierEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:f})=>{const[m,y,x]=getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i});return jsxRuntime.exports.jsx(BaseEdge,{path:m,labelX:y,labelY:x,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:f})}));SimpleBezierEdge.displayName="SimpleBezierEdge";const handleDirections={[Position.Left]:{x:-1,y:0},[Position.Right]:{x:1,y:0},[Position.Top]:{x:0,y:-1},[Position.Bottom]:{x:0,y:1}},getDirection=({source:e,sourcePosition:t=Position.Bottom,target:n})=>t===Position.Left||t===Position.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},distance=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function getPoints({source:e,sourcePosition:t=Position.Bottom,target:n,targetPosition:o=Position.Top,center:r,offset:i}){const s=handleDirections[t],a=handleDirections[o],l={x:e.x+s.x*i,y:e.y+s.y*i},c={x:n.x+a.x*i,y:n.y+a.y*i},u=getDirection({source:l,sourcePosition:t,target:c}),d=0!==u.x?"x":"y",h=u[d];let p,g,f=[];const[m,y,x,S]=getEdgeCenter({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]==-1){p=r.x||m,g=r.y||y;const e=[{x:p,y:l.y},{x:p,y:c.y}],t=[{x:l.x,y:g},{x:c.x,y:g}];f=s[d]===h?"x"===d?e:t:"x"===d?t:e}else{const e=[{x:l.x,y:c.y}],n=[{x:c.x,y:l.y}];if(f="x"===d?s.x===h?n:e:s.y===h?e:n,t!==o){const t="x"===d?"y":"x",o=s[d]===a[t],r=l[t]>c[t],i=l[t]<c[t];(1===s[d]&&(!o&&r||o&&i)||1!==s[d]&&(!o&&i||o&&r))&&(f="x"===d?e:n)}p=f[0].x,g=f[0].y}return[[e,l,...f,c,n],p,g,x,S]}function getBend(e,t,n,o){const r=Math.min(distance(e,t)/2,distance(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){return`L ${i+r*(e.x<n.x?-1:1)},${s}Q ${i},${s} ${i},${s+r*(e.y<n.y?1:-1)}`}const a=e.x<n.x?1:-1;return`L ${i},${s+r*(e.y<n.y?-1:1)}Q ${i},${s} ${i+r*a},${s}`}function getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,borderRadius:s=5,centerX:a,centerY:l,offset:c=20}){const[u,d,h,p,g]=getPoints({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:a,y:l},offset:c});return[u.reduce(((e,t,n)=>{let o="";return o=n>0&&n<u.length-1?getBend(u[n-1],t,u[n+1],s):`${0===n?"M":"L"}${t.x} ${t.y}`,e+=o}),""),d,h,p,g]}const SmoothStepEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:d=Position.Bottom,targetPosition:h=Position.Top,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:m})=>{const[y,x,S]=getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:o,targetPosition:h,borderRadius:f?.borderRadius,offset:f?.offset});return jsxRuntime.exports.jsx(BaseEdge,{path:y,labelX:x,labelY:S,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:p,markerStart:g,interactionWidth:m})}));SmoothStepEdge.displayName="SmoothStepEdge";const StepEdge=require$$0.memo((e=>jsxRuntime.exports.jsx(SmoothStepEdge,{...e,pathOptions:require$$0.useMemo((()=>({borderRadius:0,offset:e.pathOptions?.offset})),[e.pathOptions?.offset])})));function getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[r,i,s,a]=getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}StepEdge.displayName="StepEdge";const StraightEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:h,interactionWidth:p})=>{const[g,f,m]=getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o});return jsxRuntime.exports.jsx(BaseEdge,{path:g,labelX:f,labelY:m,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:h,interactionWidth:p})}));function calculateControlOffset(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function getControlWithCurvature({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Position.Left:return[t-calculateControlOffset(t-o,i),n];case Position.Right:return[t+calculateControlOffset(o-t,i),n];case Position.Top:return[t,n-calculateControlOffset(n-r,i)];case Position.Bottom:return[t,n+calculateControlOffset(r-n,i)]}}function getBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,curvature:s=.25}){const[a,l]=getControlWithCurvature({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[c,u]=getControlWithCurvature({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[d,h,p,g]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${o},${r}`,d,h,p,g]}StraightEdge.displayName="StraightEdge";const BezierEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:m})=>{const[y,x,S]=getBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i,curvature:f?.curvature});return jsxRuntime.exports.jsx(BaseEdge,{path:y,labelX:x,labelY:S,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:m})}));BezierEdge.displayName="BezierEdge";const NodeIdContext=require$$0.createContext(null),Provider=NodeIdContext.Provider;NodeIdContext.Consumer;const useNodeId=()=>require$$0.useContext(NodeIdContext),isEdge=e=>"id"in e&&"source"in e&&"target"in e,getEdgeId=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`reactflow__edge-${e}${t||""}-${n}${o||""}`,getMarkerId=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;return`${t?`${t}__`:""}${Object.keys(e).sort().map((t=>`${t}=${e[t]}`)).join("&")}`},connectionExists=(e,t)=>t.some((t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle)))),addEdge=(e,t)=>{if(!e.source||!e.target)return t;let n;return n=isEdge(e)?{...e}:{...e,id:getEdgeId(e)},connectionExists(n,t)?t:t.concat(n)},pointToRendererPoint=({x:e,y:t},[n,o,r],i,[s,a])=>{const l={x:(e-n)/r,y:(t-o)/r};return i?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},rendererPointToPoint=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o}),getNodePositionWithOrigin=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],o=(e.height??0)*t[1],r={x:e.position.x-n,y:e.position.y-o};return{...r,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-o}:r}},getRectOfNodes=(e,t=[0,0])=>{if(0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce(((e,n)=>{const{x:o,y:r}=getNodePositionWithOrigin(n,t).positionAbsolute;return getBoundsOfBoxes(e,rectToBox({x:o,y:r,width:n.width||0,height:n.height||0}))}),{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return boxToRect(n)},getNodesInside=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/r,y:(t.y-o)/r,width:t.width/r,height:t.height/r},c=[];return e.forEach((e=>{const{width:t,height:n,selectable:o=!0,hidden:r=!1}=e;if(s&&!o||r)return!1;const{positionAbsolute:u}=getNodePositionWithOrigin(e,a),d={x:u.x,y:u.y,width:t||0,height:n||0},h=getOverlappingArea(l,d);(void 0===t||void 0===n||null===t||null===n||i&&h>0||h>=(t||0)*(n||0)||e.dragging)&&c.push(e)})),c},getConnectedEdges=(e,t)=>{const n=e.map((e=>e.id));return t.filter((e=>n.includes(e.source)||n.includes(e.target)))},getTransformForBounds=(e,t,n,o,r,i=.1)=>{const s=t/(e.width*(1+i)),a=n/(e.height*(1+i)),l=Math.min(s,a),c=clamp(l,o,r);return[t/2-(e.x+e.width/2)*c,n/2-(e.y+e.height/2)*c,c]},getD3Transition=(e,t=0)=>e.transition().duration(t);function getHandles(e,t,n,o){return(t[n]||[]).reduce(((t,r)=>(`${e.id}-${r.id}-${n}`!==o&&t.push({id:r.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+r.x+r.width/2,y:(e.positionAbsolute?.y??0)+r.y+r.height/2}),t)),[])}function getClosestHandle(e,t,n){let o=null,r=1/0;return n.forEach((n=>{const i=Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));i<=t&&i<r&&(r=i,o=n)})),o}const nullConnection={source:null,target:null,sourceHandle:null,targetHandle:null};function isValidHandle(e,t,n,o,r,i,s,a){const l="target"===i,c=a.querySelector(`.react-flow__handle[data-id="${t?.nodeId}-${t?.id}-${t?.type}"]`),{x:u,y:d}=getEventPosition(e),h=a.elementFromPoint(u,d),p=h?.classList.contains("react-flow__handle")?h:c,g={handleDomNode:p,isValid:!1,connection:nullConnection};if(p){const e=getHandleType(void 0,p),t=p.getAttribute("data-nodeid"),i=p.getAttribute("data-handleid"),a={source:l?t:o,sourceHandle:l?i:r,target:l?o:t,targetHandle:l?r:i};g.connection=a;(n===ConnectionMode.Strict?l&&"source"===e||!l&&"target"===e:t!==o||i!==r)&&(g.isValid=s(a))}return g}function getHandleLookup({nodes:e,nodeId:t,handleId:n,handleType:o}){return e.reduce(((e,r)=>{if(r[internalsSymbol]){const{handleBounds:i}=r[internalsSymbol];let s=[],a=[];i&&(s=getHandles(r,i,"source",`${t}-${n}-${o}`),a=getHandles(r,i,"target",`${t}-${n}-${o}`)),e.push(...s,...a)}return e}),[])}function getHandleType(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function resetRecentHandle(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function getConnectionStatus(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function handlePointerDown({event:e,handleId:t,nodeId:n,onConnect:o,isTarget:r,getState:i,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:c}){const u=getHostForElement(e.target),{connectionMode:d,domNode:h,autoPanOnConnect:p,connectionRadius:g,onConnectStart:f,panBy:m,getNodes:y,cancelConnection:x}=i();let S,v=0;const{x:b,y:w}=getEventPosition(e),_=u?.elementFromPoint(b,w),E=getHandleType(l,_),C=h?.getBoundingClientRect();if(!C||!E)return;let N,$=getEventPosition(e,C),M=!1,R=null,P=!1,k=null;const A=getHandleLookup({nodes:y(),nodeId:n,handleId:t,handleType:E}),D=()=>{if(!p)return;const[e,t]=calcAutoPan($,C);m({x:e,y:t}),v=requestAnimationFrame(D)};function I(e){const{transform:o}=i();$=getEventPosition(e,C),S=getClosestHandle(pointToRendererPoint($,o,!1,[1,1]),g,A),M||(D(),M=!0);const l=isValidHandle(e,S,d,n,t,r?"target":"source",a,u);if(k=l.handleDomNode,R=l.connection,P=l.isValid,s({connectionPosition:S&&P?rendererPointToPoint({x:S.x,y:S.y},o):$,connectionStatus:getConnectionStatus(!!S,P)}),!S&&!P&&!k)return resetRecentHandle(N);R.source!==R.target&&k&&(resetRecentHandle(N),N=k,k.classList.add("connecting","react-flow__handle-connecting"),k.classList.toggle("valid",P),k.classList.toggle("react-flow__handle-valid",P))}function j(e){(S||k)&&R&&P&&o?.(R),i().onConnectEnd?.(e),l&&c?.(e),resetRecentHandle(N),x(),cancelAnimationFrame(v),M=!1,P=!1,R=null,k=null,u.removeEventListener("mousemove",I),u.removeEventListener("mouseup",j),u.removeEventListener("touchmove",I),u.removeEventListener("touchend",j)}s({connectionPosition:$,connectionNodeId:n,connectionHandleId:t,connectionHandleType:E,connectionStatus:null}),f?.(e,{nodeId:n,handleId:t,handleType:E}),u.addEventListener("mousemove",I),u.addEventListener("mouseup",j),u.addEventListener("touchmove",I),u.addEventListener("touchend",j)}const alwaysValid=()=>!0,selector$f=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Handle=require$$0.forwardRef((({type:e="source",position:t=Position.Top,isValidConnection:n=alwaysValid,isConnectable:o=!0,id:r,onConnect:i,children:s,className:a,onMouseDown:l,onTouchStart:c,...u},d)=>{const h=useStoreApi(),p=useNodeId();if(!p)return h.getState().onError?.("010",errorMessages["010"]()),null;const{connectionStartHandle:g,connectOnClick:f,noPanClassName:m}=useStore(selector$f,shallow),y=r||null,x="target"===e,S=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=h.getState(),r={...t,...e};if(o){const{edges:e}=h.getState();h.setState({edges:addEdge(r,e)})}n?.(r),i?.(r)},v=e=>{const t=isMouseEvent(e);(t&&0===e.button||!t)&&handlePointerDown({event:e,handleId:y,nodeId:p,onConnect:S,isTarget:x,getState:h.getState,setState:h.setState,isValidConnection:n}),t?l?.(e):c?.(e)};return jsxRuntime.exports.jsx("div",{"data-handleid":y,"data-nodeid":p,"data-handlepos":t,"data-id":`${p}-${y}-${e}`,className:cc(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",m,a,{source:!x,target:x,connectable:o,connecting:g?.nodeId===p&&g?.handleId===y&&g?.type===e}]),onMouseDown:v,onTouchStart:v,onClick:f?t=>{const{onClickConnectStart:o,onClickConnectEnd:r,connectionMode:i}=h.getState();if(!g)return o?.(t,{nodeId:p,handleId:y,handleType:e}),void h.setState({connectionStartHandle:{nodeId:p,type:e,handleId:y}});const s=getHostForElement(t.target),{connection:a,isValid:l}=isValidHandle(t,{nodeId:p,id:y,type:e},i,g.nodeId,g.handleId||null,g.type,n,s);l&&S(a),r?.(t),h.setState({connectionStartHandle:null})}:void 0,ref:d,...u,children:s})}));Handle.displayName="Handle";var Handle$1=require$$0.memo(Handle);const DefaultNode=({data:e,isConnectable:t,targetPosition:n=Position.Top,sourcePosition:o=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:o,isConnectable:t})]});DefaultNode.displayName="DefaultNode";var DefaultNode$1=require$$0.memo(DefaultNode);const InputNode=({data:e,isConnectable:t,sourcePosition:n=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:n,isConnectable:t})]});InputNode.displayName="InputNode";var InputNode$1=require$$0.memo(InputNode);const OutputNode=({data:e,isConnectable:t,targetPosition:n=Position.Top})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label]});OutputNode.displayName="OutputNode";var OutputNode$1=require$$0.memo(OutputNode);const GroupNode=()=>null;GroupNode.displayName="GroupNode";const selector$e=e=>({selectedNodes:e.getNodes().filter((e=>e.selected)),selectedEdges:e.edges.filter((e=>e.selected))}),selectId=e=>e.id;function areEqual(e,t){return shallow(e.selectedNodes.map(selectId),t.selectedNodes.map(selectId))&&shallow(e.selectedEdges.map(selectId),t.selectedEdges.map(selectId))}const SelectionListener=require$$0.memo((({onSelectionChange:e})=>{const t=useStoreApi(),{selectedNodes:n,selectedEdges:o}=useStore(selector$e,areEqual);return require$$0.useEffect((()=>{const r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChange?.(r)}),[n,o,e]),null}));SelectionListener.displayName="SelectionListener";const changeSelector=e=>!!e.onSelectionChange;function Wrapper$1({onSelectionChange:e}){const t=useStore(changeSelector);return e||t?jsxRuntime.exports.jsx(SelectionListener,{onSelectionChange:e}):null}const selector$d=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function useStoreUpdater(e,t){require$$0.useEffect((()=>{void 0!==e&&t(e)}),[e])}function useDirectStoreUpdater(e,t,n){require$$0.useEffect((()=>{void 0!==t&&n({[e]:t})}),[t])}const StoreUpdater=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:r,onConnectStart:i,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:d,edgesFocusable:h,elevateNodesOnSelect:p,minZoom:g,maxZoom:f,nodeExtent:m,onNodesChange:y,onEdgesChange:x,elementsSelectable:S,connectionMode:v,snapGrid:b,snapToGrid:w,translateExtent:_,connectOnClick:E,defaultEdgeOptions:C,fitView:N,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:R,onNodeDrag:P,onNodeDragStart:k,onNodeDragStop:A,onSelectionDrag:D,onSelectionDragStart:I,onSelectionDragStop:j,noPanClassName:O,nodeOrigin:T,rfId:B,autoPanOnConnect:z,autoPanOnNodeDrag:H,onError:q,connectionRadius:L})=>{const{setNodes:F,setEdges:U,setDefaultNodesAndEdges:V,setMinZoom:Y,setMaxZoom:X,setTranslateExtent:K,setNodeExtent:W,reset:Z}=useStore(selector$d,shallow),G=useStoreApi();return require$$0.useEffect((()=>{const e=o?.map((e=>({...e,...C})));return V(n,e),()=>{Z()}}),[]),useDirectStoreUpdater("defaultEdgeOptions",C,G.setState),useDirectStoreUpdater("connectionMode",v,G.setState),useDirectStoreUpdater("onConnect",r,G.setState),useDirectStoreUpdater("onConnectStart",i,G.setState),useDirectStoreUpdater("onConnectEnd",s,G.setState),useDirectStoreUpdater("onClickConnectStart",a,G.setState),useDirectStoreUpdater("onClickConnectEnd",l,G.setState),useDirectStoreUpdater("nodesDraggable",c,G.setState),useDirectStoreUpdater("nodesConnectable",u,G.setState),useDirectStoreUpdater("nodesFocusable",d,G.setState),useDirectStoreUpdater("edgesFocusable",h,G.setState),useDirectStoreUpdater("elementsSelectable",S,G.setState),useDirectStoreUpdater("elevateNodesOnSelect",p,G.setState),useDirectStoreUpdater("snapToGrid",w,G.setState),useDirectStoreUpdater("snapGrid",b,G.setState),useDirectStoreUpdater("onNodesChange",y,G.setState),useDirectStoreUpdater("onEdgesChange",x,G.setState),useDirectStoreUpdater("connectOnClick",E,G.setState),useDirectStoreUpdater("fitViewOnInit",N,G.setState),useDirectStoreUpdater("fitViewOnInitOptions",$,G.setState),useDirectStoreUpdater("onNodesDelete",M,G.setState),useDirectStoreUpdater("onEdgesDelete",R,G.setState),useDirectStoreUpdater("onNodeDrag",P,G.setState),useDirectStoreUpdater("onNodeDragStart",k,G.setState),useDirectStoreUpdater("onNodeDragStop",A,G.setState),useDirectStoreUpdater("onSelectionDrag",D,G.setState),useDirectStoreUpdater("onSelectionDragStart",I,G.setState),useDirectStoreUpdater("onSelectionDragStop",j,G.setState),useDirectStoreUpdater("noPanClassName",O,G.setState),useDirectStoreUpdater("nodeOrigin",T,G.setState),useDirectStoreUpdater("rfId",B,G.setState),useDirectStoreUpdater("autoPanOnConnect",z,G.setState),useDirectStoreUpdater("autoPanOnNodeDrag",H,G.setState),useDirectStoreUpdater("onError",q,G.setState),useDirectStoreUpdater("connectionRadius",L,G.setState),useStoreUpdater(e,F),useStoreUpdater(t,U),useStoreUpdater(g,Y),useStoreUpdater(f,X),useStoreUpdater(_,K),useStoreUpdater(m,W),null},style={display:"none"},ariaLiveStyle={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ARIA_NODE_DESC_KEY="react-flow__node-desc",ARIA_EDGE_DESC_KEY="react-flow__edge-desc",ARIA_LIVE_MESSAGE="react-flow__aria-live",selector$c=e=>e.ariaLiveMessage;function AriaLiveMessage({rfId:e}){const t=useStore(selector$c);return jsxRuntime.exports.jsx("div",{id:`${ARIA_LIVE_MESSAGE}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ariaLiveStyle,children:t})}function A11yDescriptions({rfId:e,disableKeyboardA11y:t}){return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsxs("div",{id:`${ARIA_NODE_DESC_KEY}-${e}`,style:style,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),jsxRuntime.exports.jsx("div",{id:`${ARIA_EDGE_DESC_KEY}-${e}`,style:style,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&jsxRuntime.exports.jsx(AriaLiveMessage,{rfId:e})]})}const shiftX=(e,t,n)=>n===Position.Left?e-t:n===Position.Right?e+t:e,shiftY=(e,t,n)=>n===Position.Top?e-t:n===Position.Bottom?e+t:e,EdgeUpdaterClassName="react-flow__edgeupdater",EdgeAnchor=({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:s,type:a})=>jsxRuntime.exports.jsx("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:s,className:cc([EdgeUpdaterClassName,`${EdgeUpdaterClassName}-${a}`]),cx:shiftX(t,o,e),cy:shiftY(n,o,e),r:o,stroke:"transparent",fill:"transparent"});var wrapEdge=e=>{const t=({id:t,className:n,type:o,data:r,onClick:i,onEdgeDoubleClick:s,selected:a,animated:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:g,style:f,source:m,target:y,sourceX:x,sourceY:S,targetX:v,targetY:b,sourcePosition:w,targetPosition:_,elementsSelectable:E,hidden:C,sourceHandleId:N,targetHandleId:$,onContextMenu:M,onMouseEnter:R,onMouseMove:P,onMouseLeave:k,edgeUpdaterRadius:A,onEdgeUpdate:D,onEdgeUpdateStart:I,onEdgeUpdateEnd:j,markerEnd:O,markerStart:T,rfId:B,ariaLabel:z,isFocusable:H,pathOptions:q,interactionWidth:L})=>{const F=require$$0.useRef(null),[U,V]=require$$0.useState(!1),[Y,X]=require$$0.useState(!1),K=useStoreApi(),W=require$$0.useMemo((()=>`url(#${getMarkerId(T,B)})`),[T,B]),Z=require$$0.useMemo((()=>`url(#${getMarkerId(O,B)})`),[O,B]);if(C)return null;const G=getMouseHandler$1(t,K.getState,s),J=getMouseHandler$1(t,K.getState,M),Q=getMouseHandler$1(t,K.getState,R),ee=getMouseHandler$1(t,K.getState,P),te=getMouseHandler$1(t,K.getState,k),ne=(e,n)=>{if(0!==e.button)return;const o=n?y:m,r=(n?$:N)||null,i=n?"target":"source",s=n,a=K.getState().edges.find((e=>e.id===t));X(!0),I?.(e,a,i);handlePointerDown({event:e,handleId:r,nodeId:o,onConnect:e=>D?.(a,e),isTarget:s,getState:K.getState,setState:K.setState,isValidConnection:()=>!0,edgeUpdaterType:i,onEdgeUpdateEnd:e=>{X(!1),j?.(e,a,i)}})},oe=()=>V(!0),re=()=>V(!1),ie=!E&&!i,se=void 0!==D;return jsxRuntime.exports.jsxs("g",{className:cc(["react-flow__edge",`react-flow__edge-${o}`,n,{selected:a,animated:l,inactive:ie,updating:U}]),onClick:e=>{const{edges:n,addSelectedEdges:o}=K.getState();if(E&&(K.setState({nodesSelectionActive:!1}),o([t])),i){const o=n.find((e=>e.id===t));i(e,o)}},onDoubleClick:G,onContextMenu:J,onMouseEnter:Q,onMouseMove:ee,onMouseLeave:te,onKeyDown:H?e=>{if(elementSelectionKeys.includes(e.key)&&E){const{unselectNodesAndEdges:n,addSelectedEdges:o,edges:r}=K.getState();"Escape"===e.key?(F.current?.blur(),n({edges:[r.find((e=>e.id===t))]})):o([t])}}:void 0,tabIndex:H?0:void 0,role:H?"button":void 0,"data-testid":`rf__edge-${t}`,"aria-label":null===z?void 0:z||`Edge from ${m} to ${y}`,"aria-describedby":H?`${ARIA_EDGE_DESC_KEY}-${B}`:void 0,ref:F,children:[!Y&&jsxRuntime.exports.jsx(e,{id:t,source:m,target:y,selected:a,animated:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:g,data:r,style:f,sourceX:x,sourceY:S,targetX:v,targetY:b,sourcePosition:w,targetPosition:_,sourceHandleId:N,targetHandleId:$,markerStart:W,markerEnd:Z,pathOptions:q,interactionWidth:L}),se&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(EdgeAnchor,{position:w,centerX:x,centerY:S,radius:A,onMouseDown:e=>ne(e,!0),onMouseEnter:oe,onMouseOut:re,type:"source"}),jsxRuntime.exports.jsx(EdgeAnchor,{position:_,centerX:v,centerY:b,radius:A,onMouseDown:e=>ne(e,!1),onMouseEnter:oe,onMouseOut:re,type:"target"})]})]})};return t.displayName="EdgeWrapper",require$$0.memo(t)};function createEdgeTypes(e){return{...{default:wrapEdge(e.default||BezierEdge),straight:wrapEdge(e.bezier||StraightEdge),step:wrapEdge(e.step||StepEdge),smoothstep:wrapEdge(e.step||SmoothStepEdge),simplebezier:wrapEdge(e.simplebezier||SimpleBezierEdge)},...Object.keys(e).filter((e=>!["default","bezier"].includes(e))).reduce(((t,n)=>(t[n]=wrapEdge(e[n]||BezierEdge),t)),{})}}function getHandlePosition(e,t,n=null){const o=(n?.x||0)+t.x,r=(n?.y||0)+t.y,i=n?.width||t.width,s=n?.height||t.height;switch(e){case Position.Top:return{x:o+i/2,y:r};case Position.Right:return{x:o+i,y:r+s/2};case Position.Bottom:return{x:o+i/2,y:r+s};case Position.Left:return{x:o,y:r+s/2}}}function getHandle(e,t){return e?t?e.find((e=>e.id===t)):1===e.length?e[0]:null:null}const getEdgePositions=(e,t,n,o,r,i)=>{const s=getHandlePosition(n,e,t),a=getHandlePosition(i,o,r);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function isEdgeVisible({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:r,targetHeight:i,width:s,height:a,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+r),y2:Math.max(e.y+o,t.y+i)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=rectToBox({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(d*h)>0}function getNodeData(e){const t=e?.[internalsSymbol]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}function isParentSelected(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return!!n&&(!!n.selected||isParentSelected(n,t))}function hasSelector(e,t,n){let o=e;do{if(o?.matches(t))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function getDragItems(e,t,n,o){return Array.from(e.values()).filter((n=>(n.selected||n.id===o)&&(!n.parentNode||!isParentSelected(n,e))&&(n.draggable||t&&void 0===n.draggable))).map((e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode,width:e.width,height:e.height})))}function calcNextPosition(e,t,n,o,r=[0,0],i){let s=e.extent||o;if("parent"===e.extent)if(e.parentNode&&e.width&&e.height){const t=n.get(e.parentNode),{x:o,y:i}=getNodePositionWithOrigin(t,r).positionAbsolute;s=t&&isNumeric(o)&&isNumeric(i)&&isNumeric(t.width)&&isNumeric(t.height)?[[o+e.width*r[0],i+e.height*r[1]],[o+t.width-e.width+e.width*r[0],i+t.height-e.height+e.height*r[1]]]:s}else i?.("005",errorMessages["005"]()),s=o;else if(e.extent&&e.parentNode){const t=n.get(e.parentNode),{x:o,y:i}=getNodePositionWithOrigin(t,r).positionAbsolute;s=[[e.extent[0][0]+o,e.extent[0][1]+i],[e.extent[1][0]+o,e.extent[1][1]+i]]}let a={x:0,y:0};if(e.parentNode){const t=n.get(e.parentNode);a=getNodePositionWithOrigin(t,r).positionAbsolute}const l=s?clampPosition(t,s):t;return{position:{x:l.x-a.x,y:l.y-a.y},positionAbsolute:l}}function getEventHandlerParams({nodeId:e,dragItems:t,nodeInternals:n}){const o=t.map((e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute})));return[e?o.find((t=>t.id===e)):o[0],o]}const getHandleBounds=(e,t,n,o)=>{const r=t.querySelectorAll(e);if(!r||!r.length)return null;const i=Array.from(r),s=t.getBoundingClientRect(),a=s.width*o[0],l=s.height*o[1];return i.map((e=>{const t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-s.left-a)/n,y:(t.top-s.top-l)/n,...getDimensions(e)}}))};function getMouseHandler(e,t,n){return void 0===n?n:o=>{const r=t().nodeInternals.get(e);n(o,{...r})}}function handleNodeClick({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:o,unselectNodesAndEdges:r,multiSelectionActive:i,nodeInternals:s}=t.getState(),a=s.get(e);t.setState({nodesSelectionActive:!1}),a.selected?(n||a.selected&&i)&&r({nodes:[a]}):o([e])}function useGetPointerPosition(){const e=useStoreApi(),t=require$$0.useCallback((({sourceEvent:t})=>{const{transform:n,snapGrid:o,snapToGrid:r}=e.getState(),i=t.touches?t.touches[0].clientX:t.clientX,s=t.touches?t.touches[0].clientY:t.clientY,a={x:(i-n[0])/n[2],y:(s-n[1])/n[2]};return{xSnapped:r?o[0]*Math.round(a.x/o[0]):a.x,ySnapped:r?o[1]*Math.round(a.y/o[1]):a.y,...a}}),[]);return t}function wrapSelectionDragFunc(e){return(t,n,o)=>e?.(t,o)}function useDrag({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,selectNodesOnDrag:s}){const a=useStoreApi(),[l,c]=require$$0.useState(!1),u=require$$0.useRef([]),d=require$$0.useRef({x:null,y:null}),h=require$$0.useRef(0),p=require$$0.useRef(null),g=require$$0.useRef({x:0,y:0}),f=require$$0.useRef(null),m=require$$0.useRef(!1),y=useGetPointerPosition();return require$$0.useEffect((()=>{if(e?.current){const l=select(e.current),x=({x:e,y:t})=>{const{nodeInternals:n,onNodeDrag:o,onSelectionDrag:i,updateNodePositions:s,nodeExtent:l,snapGrid:h,snapToGrid:p,nodeOrigin:g,onError:m}=a.getState();d.current={x:e,y:t};let y=!1;if(u.current=u.current.map((o=>{const r={x:e-o.distance.x,y:t-o.distance.y};p&&(r.x=h[0]*Math.round(r.x/h[0]),r.y=h[1]*Math.round(r.y/h[1]));const i=calcNextPosition(o,r,n,l,g,m);return y=y||o.position.x!==i.position.x||o.position.y!==i.position.y,o.position=i.position,o.positionAbsolute=i.positionAbsolute,o})),!y)return;s(u.current,!0,!0),c(!0);const x=r?o:wrapSelectionDragFunc(i);if(x&&f.current){const[e,t]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:n});x(f.current,e,t)}},S=()=>{if(!p.current)return;const[e,t]=calcAutoPan(g.current,p.current);if(0!==e||0!==t){const{transform:n,panBy:o}=a.getState();d.current.x=(d.current.x??0)-e/n[2],d.current.y=(d.current.y??0)-t/n[2],x(d.current),o({x:e,y:t})}h.current=requestAnimationFrame(S)};if(!t){const t=drag().on("start",(e=>{const{nodeInternals:t,multiSelectionActive:n,domNode:o,nodesDraggable:l,unselectNodesAndEdges:c,onNodeDragStart:h,onSelectionDragStart:f}=a.getState(),m=r?h:wrapSelectionDragFunc(f);s||n||!r||t.get(r)?.selected||c(),r&&i&&s&&handleNodeClick({id:r,store:a});const x=y(e);if(d.current=x,u.current=getDragItems(t,l,x,r),m&&u.current){const[n,o]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:t});m(e.sourceEvent,n,o)}p.current=o?.getBoundingClientRect()||null,g.current=getEventPosition(e.sourceEvent,p.current)})).on("drag",(e=>{const t=y(e),{autoPanOnNodeDrag:n}=a.getState();!m.current&&n&&(m.current=!0,S()),d.current.x===t.xSnapped&&d.current.y===t.ySnapped||!u.current||(f.current=e.sourceEvent,g.current=getEventPosition(e.sourceEvent,p.current),x(t))})).on("end",(e=>{if(c(!1),m.current=!1,cancelAnimationFrame(h.current),u.current){const{updateNodePositions:t,nodeInternals:n,onNodeDragStop:o,onSelectionDragStop:i}=a.getState(),s=r?o:wrapSelectionDragFunc(i);if(t(u.current,!1,!1),s){const[t,o]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:n});s(e.sourceEvent,t,o)}}})).filter((t=>{const r=t.target;return!t.button&&(!n||!hasSelector(r,`.${n}`,e))&&(!o||hasSelector(r,o,e))}));return l.call(t),()=>{l.on(".drag",null)}}l.on(".drag",null)}}),[e,t,n,o,i,a,r,s,y]),l}function useUpdateNodePositions(){const e=useStoreApi();return require$$0.useCallback((t=>{const{nodeInternals:n,nodeExtent:o,updateNodePositions:r,getNodes:i,snapToGrid:s,snapGrid:a,onError:l,nodesDraggable:c}=e.getState(),u=i().filter((e=>e.selected&&(e.draggable||c&&void 0===e.draggable))),d=s?a[0]:5,h=s?a[1]:5,p=t.isShiftPressed?4:1,g=t.x*d*p,f=t.y*h*p;r(u.map((e=>{if(e.positionAbsolute){const t={x:e.positionAbsolute.x+g,y:e.positionAbsolute.y+f};s&&(t.x=a[0]*Math.round(t.x/a[0]),t.y=a[1]*Math.round(t.y/a[1]));const{positionAbsolute:r,position:i}=calcNextPosition(e,t,n,o,void 0,l);e.position=i,e.positionAbsolute=r}return e})),!0,!1)}),[])}const arrowKeyDiffs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var wrapNode=e=>{const t=({id:t,type:n,data:o,xPos:r,yPos:i,xPosOrigin:s,yPosOrigin:a,selected:l,onClick:c,onMouseEnter:u,onMouseMove:d,onMouseLeave:h,onContextMenu:p,onDoubleClick:g,style:f,className:m,isDraggable:y,isSelectable:x,isConnectable:S,isFocusable:v,selectNodesOnDrag:b,sourcePosition:w,targetPosition:_,hidden:E,resizeObserver:C,dragHandle:N,zIndex:$,isParent:M,noDragClassName:R,noPanClassName:P,initialized:k,disableKeyboardA11y:A,ariaLabel:D,rfId:I})=>{const j=useStoreApi(),O=require$$0.useRef(null),T=require$$0.useRef(w),B=require$$0.useRef(_),z=require$$0.useRef(n),H=x||y||c||u||d||h,q=useUpdateNodePositions(),L=getMouseHandler(t,j.getState,u),F=getMouseHandler(t,j.getState,d),U=getMouseHandler(t,j.getState,h),V=getMouseHandler(t,j.getState,p),Y=getMouseHandler(t,j.getState,g);require$$0.useEffect((()=>{if(O.current&&!E){const e=O.current;return C?.observe(e),()=>C?.unobserve(e)}}),[E]),require$$0.useEffect((()=>{const e=z.current!==n,o=T.current!==w,r=B.current!==_;O.current&&(e||o||r)&&(e&&(z.current=n),o&&(T.current=w),r&&(B.current=_),j.getState().updateNodeDimensions([{id:t,nodeElement:O.current,forceUpdate:!0}]))}),[t,n,w,_]);const X=useDrag({nodeRef:O,disabled:E||!y,noDragClassName:R,handleSelector:N,nodeId:t,isSelectable:x,selectNodesOnDrag:b});return E?null:jsxRuntime.exports.jsx("div",{className:cc(["react-flow__node",`react-flow__node-${n}`,{[P]:y},m,{selected:l,selectable:x,parent:M,dragging:X}]),ref:O,style:{zIndex:$,transform:`translate(${s}px,${a}px)`,pointerEvents:H?"all":"none",visibility:k?"visible":"hidden",...f},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:L,onMouseMove:F,onMouseLeave:U,onContextMenu:V,onClick:e=>{if(!x||b&&y||handleNodeClick({id:t,store:j}),c){const n=j.getState().nodeInternals.get(t);c(e,{...n})}},onDoubleClick:Y,onKeyDown:v?e=>{if(!isInputDOMNode(e))if(elementSelectionKeys.includes(e.key)&&x){const n="Escape"===e.key;n&&O.current?.blur(),handleNodeClick({id:t,store:j,unselect:n})}else!A&&y&&l&&Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~r}, y: ${~~i}`}),q({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey}))}:void 0,tabIndex:v?0:void 0,role:v?"button":void 0,"aria-describedby":A?void 0:`${ARIA_NODE_DESC_KEY}-${I}`,"aria-label":D,children:jsxRuntime.exports.jsx(Provider,{value:t,children:jsxRuntime.exports.jsx(e,{id:t,data:o,type:n,xPos:r,yPos:i,selected:l,isConnectable:S,sourcePosition:w,targetPosition:_,dragging:X,dragHandle:N,zIndex:$})})})};return t.displayName="NodeWrapper",require$$0.memo(t)};function createNodeTypes(e){return{...{input:wrapNode(e.input||InputNode$1),default:wrapNode(e.default||DefaultNode$1),output:wrapNode(e.output||OutputNode$1),group:wrapNode(e.group||GroupNode)},...Object.keys(e).filter((e=>!["input","default","output","group"].includes(e))).reduce(((t,n)=>(t[n]=wrapNode(e[n]||DefaultNode$1),t)),{})}}const getPositionWithOrigin=({x:e,y:t,width:n,height:o,origin:r})=>n&&o?r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:e,y:t}:{x:e-n*r[0],y:t-o*r[1]}:{x:e,y:t},doc="undefined"!=typeof document?document:null;var useKeyPress=(e=null,t={target:doc})=>{const[n,o]=require$$0.useState(!1),r=require$$0.useRef(new Set([])),[i,s]=require$$0.useMemo((()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter((e=>"string"==typeof e)).map((e=>e.split("+"))),n=t.reduce(((e,t)=>e.concat(...t)),[]);return[t,n]}return[[],[]]}),[e]);return require$$0.useEffect((()=>{if(null!==e){const e=e=>{if(isInputDOMNode(e))return!1;const t=useKeyOrCode(e.code,s);r.current.add(e[t]),isMatchingKey(i,r.current,!1)&&(e.preventDefault(),o(!0))},n=e=>{if(isInputDOMNode(e))return!1;const t=useKeyOrCode(e.code,s);isMatchingKey(i,r.current,!0)?(o(!1),r.current.clear()):r.current.delete(e[t])},a=()=>{r.current.clear(),o(!1)};return t?.target?.addEventListener("keydown",e),t?.target?.addEventListener("keyup",n),window.addEventListener("blur",a),()=>{t?.target?.removeEventListener("keydown",e),t?.target?.removeEventListener("keyup",n),window.removeEventListener("blur",a)}}}),[e,o]),n};function isMatchingKey(e,t,n){return e.filter((e=>n||e.length===t.size)).some((e=>e.every((e=>t.has(e)))))}function useKeyOrCode(e,t){return t.includes(e)?"code":"key"}function calculateXYZPosition(e,t,n,o){if(!e.parentNode)return n;const r=t.get(e.parentNode),i=getNodePositionWithOrigin(r,o);return calculateXYZPosition(r,t,{x:(n.x??0)+i.x,y:(n.y??0)+i.y,z:(r[internalsSymbol]?.z??0)>(n.z??0)?r[internalsSymbol]?.z??0:n.z??0},o)}function updateAbsoluteNodePositions(e,t,n){e.forEach((o=>{if(o.parentNode&&!e.has(o.parentNode))throw new Error(`Parent node ${o.parentNode} not found`);if(o.parentNode||n?.[o.id]){const{x:r,y:i,z:s}=calculateXYZPosition(o,e,{...o.position,z:o[internalsSymbol]?.z??0},t);o.positionAbsolute={x:r,y:i},o[internalsSymbol].z=s,n?.[o.id]&&(o[internalsSymbol].isParent=!0)}}))}function createNodeInternals(e,t,n,o){const r=new Map,i={},s=o?1e3:0;return e.forEach((e=>{const n=(isNumeric(e.zIndex)?e.zIndex:0)+(e.selected?s:0),o=t.get(e.id),a={width:o?.width,height:o?.height,...e,positionAbsolute:{x:e.position.x,y:e.position.y}};e.parentNode&&(a.parentNode=e.parentNode,i[e.parentNode]=!0),Object.defineProperty(a,internalsSymbol,{enumerable:!1,value:{handleBounds:o?.[internalsSymbol]?.handleBounds,z:n}}),r.set(e.id,a)})),updateAbsoluteNodePositions(r,n,i),r}function fitView(e,t={}){const{getNodes:n,width:o,height:r,minZoom:i,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:d}=e(),h=t.initial&&!c&&u;if(a&&l&&(h||!t.initial)){const e=n().filter((e=>{const n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some((t=>t.id===e.id)):n})),c=e.every((e=>e.width&&e.height));if(e.length>0&&c){const n=getRectOfNodes(e,d),[c,u,h]=getTransformForBounds(n,o,r,t.minZoom??i,t.maxZoom??s,t.padding??.1),p=identity.translate(c,u).scale(h);return"number"==typeof t.duration&&t.duration>0?a.transform(getD3Transition(l,t.duration),p):a.transform(l,p),!0}}return!1}function handleControlledNodeSelectionChange(e,t){return e.forEach((e=>{const n=t.get(e.id);n&&t.set(n.id,{...n,[internalsSymbol]:n[internalsSymbol],selected:e.selected})})),new Map(t)}function handleControlledEdgeSelectionChange(e,t){return t.map((t=>{const n=e.find((e=>e.id===t.id));return n&&(t.selected=n.selected),t}))}function updateNodesAndEdgesSelections({changedNodes:e,changedEdges:t,get:n,set:o}){const{nodeInternals:r,edges:i,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&o({nodeInternals:handleControlledNodeSelectionChange(e,r)}),s?.(e)),t?.length&&(c&&o({edges:handleControlledEdgeSelectionChange(t,i)}),a?.(t))}const noop=()=>{},initialViewportHelper={zoomIn:noop,zoomOut:noop,zoomTo:noop,getZoom:()=>1,setViewport:noop,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:noop,fitBounds:noop,project:e=>e,viewportInitialized:!1},selector$b=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),useViewportHelper=()=>{const e=useStoreApi(),{d3Zoom:t,d3Selection:n}=useStore(selector$b,shallow),o=require$$0.useMemo((()=>n&&t?{zoomIn:e=>t.scaleBy(getD3Transition(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(getD3Transition(n,e?.duration),1/1.2),zoomTo:(e,o)=>t.scaleTo(getD3Transition(n,o?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(o,r)=>{const[i,s,a]=e.getState().transform,l=identity.translate(o.x??i,o.y??s).scale(o.zoom??a);t.transform(getD3Transition(n,r?.duration),l)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},fitView:t=>fitView(e.getState,t),setCenter:(o,r,i)=>{const{width:s,height:a,maxZoom:l}=e.getState(),c=void 0!==i?.zoom?i.zoom:l,u=s/2-o*c,d=a/2-r*c,h=identity.translate(u,d).scale(c);t.transform(getD3Transition(n,i?.duration),h)},fitBounds:(o,r)=>{const{width:i,height:s,minZoom:a,maxZoom:l}=e.getState(),[c,u,d]=getTransformForBounds(o,i,s,a,l,r?.padding??.1),h=identity.translate(c,u).scale(d);t.transform(getD3Transition(n,r?.duration),h)},project:t=>{const{transform:n,snapToGrid:o,snapGrid:r}=e.getState();return pointToRendererPoint(t,n,o,r)},viewportInitialized:!0}:initialViewportHelper),[t,n]);return o};function useReactFlow(){const e=useViewportHelper(),t=useStoreApi(),n=require$$0.useCallback((()=>t.getState().getNodes().map((e=>({...e})))),[]),o=require$$0.useCallback((e=>t.getState().nodeInternals.get(e)),[]),r=require$$0.useCallback((()=>{const{edges:e=[]}=t.getState();return e.map((e=>({...e})))}),[]),i=require$$0.useCallback((e=>{const{edges:n=[]}=t.getState();return n.find((t=>t.id===e))}),[]),s=require$$0.useCallback((e=>{const{getNodes:n,setNodes:o,hasDefaultNodes:r,onNodesChange:i}=t.getState(),s=n(),a="function"==typeof e?e(s):e;if(r)o(a);else if(i){i(0===a.length?s.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),a=require$$0.useCallback((e=>{const{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i}=t.getState(),s="function"==typeof e?e(n):e;if(r)o(s);else if(i){i(0===s.length?n.map((e=>({type:"remove",id:e.id}))):s.map((e=>({item:e,type:"reset"}))))}}),[]),l=require$$0.useCallback((e=>{const n=Array.isArray(e)?e:[e],{getNodes:o,setNodes:r,hasDefaultNodes:i,onNodesChange:s}=t.getState();if(i){r([...o(),...n])}else if(s){s(n.map((e=>({item:e,type:"add"}))))}}),[]),c=require$$0.useCallback((e=>{const n=Array.isArray(e)?e:[e],{edges:o=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:s}=t.getState();if(i)r([...o,...n]);else if(s){s(n.map((e=>({item:e,type:"add"}))))}}),[]),u=require$$0.useCallback((()=>{const{getNodes:e,edges:n=[],transform:o}=t.getState(),[r,i,s]=o;return{nodes:e().map((e=>({...e}))),edges:n.map((e=>({...e}))),viewport:{x:r,y:i,zoom:s}}}),[]),d=require$$0.useCallback((({nodes:e,edges:n})=>{const{nodeInternals:o,getNodes:r,edges:i,hasDefaultNodes:s,hasDefaultEdges:a,onNodesDelete:l,onEdgesDelete:c,onNodesChange:u,onEdgesChange:d}=t.getState(),h=(e||[]).map((e=>e.id)),p=(n||[]).map((e=>e.id)),g=r().reduce(((e,t)=>{const n=!h.includes(t.id)&&t.parentNode&&e.find((e=>e.id===t.parentNode));return("boolean"!=typeof t.deletable||t.deletable)&&(h.includes(t.id)||n)&&e.push(t),e}),[]),f=i.filter((e=>"boolean"!=typeof e.deletable||e.deletable)),m=f.filter((e=>p.includes(e.id)));if(g||m){const e=getConnectedEdges(g,f),n=[...m,...e],r=n.reduce(((e,t)=>(e.includes(t.id)||e.push(t.id),e)),[]);if((a||s)&&(a&&t.setState({edges:i.filter((e=>!r.includes(e.id)))}),s&&(g.forEach((e=>{o.delete(e.id)})),t.setState({nodeInternals:new Map(o)}))),r.length>0&&(c?.(n),d&&d(r.map((e=>({id:e,type:"remove"}))))),g.length>0&&(l?.(g),u)){u(g.map((e=>({id:e.id,type:"remove"}))))}}}),[]),h=require$$0.useCallback((e=>{const n=isRectObject(e),o=n?null:t.getState().nodeInternals.get(e.id);return[n?e:nodeToRect(o),o,n]}),[]),p=require$$0.useCallback(((e,n=!0,o)=>{const[r,i,s]=h(e);return r?(o||t.getState().getNodes()).filter((t=>{if(!(s||t.id!==i.id&&t.positionAbsolute))return!1;const o=nodeToRect(t),a=getOverlappingArea(o,r);return n&&a>0||a>=e.width*e.height})):[]}),[]),g=require$$0.useCallback(((e,t,n=!0)=>{const[o]=h(e);if(!o)return!1;const r=getOverlappingArea(o,t);return n&&r>0||r>=e.width*e.height}),[]);return require$$0.useMemo((()=>({...e,getNodes:n,getNode:o,getEdges:r,getEdge:i,setNodes:s,setEdges:a,addNodes:l,addEdges:c,toObject:u,deleteElements:d,getIntersectingNodes:p,isNodeIntersecting:g})),[e,n,o,r,i,s,a,l,c,u,d,p,g])}var useGlobalKeyHandler=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=useStoreApi(),{deleteElements:o}=useReactFlow(),r=useKeyPress(e),i=useKeyPress(t);require$$0.useEffect((()=>{if(r){const{edges:e,getNodes:t}=n.getState(),r=t().filter((e=>e.selected)),i=e.filter((e=>e.selected));o({nodes:r,edges:i}),n.setState({nodesSelectionActive:!1})}}),[r]),require$$0.useEffect((()=>{n.setState({multiSelectionActive:i})}),[i])};function useResizeHandler(e){const t=useStoreApi();require$$0.useEffect((()=>{let n;const o=()=>{if(!e.current)return;const n=getDimensions(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004",errorMessages["004"]()),t.setState({width:n.width||500,height:n.height||500})};return o(),window.addEventListener("resize",o),e.current&&(n=new ResizeObserver((()=>o())),n.observe(e.current)),()=>{window.removeEventListener("resize",o),n&&e.current&&n.unobserve(e.current)}}),[])}const containerStyle={position:"absolute",width:"100%",height:"100%",top:0,left:0},viewChanged=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,eventToFlowTransform=e=>({x:e.x,y:e.y,zoom:e.k}),isWrappedWithClass=(e,t)=>e.target.closest(`.${t}`),isRightClickPan=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),selector$a=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),ZoomPane=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:r=!0,zoomOnPinch:i=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=PanOnScrollMode.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:d=!0,defaultViewport:h,translateExtent:p,minZoom:g,maxZoom:f,zoomActivationKeyCode:m,preventScrolling:y=!0,children:x,noWheelClassName:S,noPanClassName:v})=>{const b=require$$0.useRef(),w=useStoreApi(),_=require$$0.useRef(!1),E=require$$0.useRef(!1),C=require$$0.useRef(null),N=require$$0.useRef({x:0,y:0,zoom:0}),{d3Zoom:$,d3Selection:M,d3ZoomHandler:R,userSelectionActive:P}=useStore(selector$a,shallow),k=useKeyPress(m),A=require$$0.useRef(0);return useResizeHandler(C),require$$0.useEffect((()=>{if(C.current){const e=C.current.getBoundingClientRect(),t=zoom().scaleExtent([g,f]).translateExtent(p),n=select(C.current).call(t),o=identity.translate(h.x,h.y).scale(clamp(h.zoom,g,f)),r=[[0,0],[e.width,e.height]],i=t.constrain()(o,r,p);t.transform(n,i),w.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[i.x,i.y,i.k],domNode:C.current.closest(".react-flow")})}}),[]),require$$0.useEffect((()=>{M&&$&&(!s||k||P?void 0!==R&&M.on("wheel.zoom",(function(e,t){if(!y||isWrappedWithClass(e,S))return null;e.preventDefault(),R.call(this,e,t)})):M.on("wheel.zoom",(e=>{if(isWrappedWithClass(e,S))return!1;e.preventDefault(),e.stopImmediatePropagation();const t=M.property("__zoom").k||1;if(e.ctrlKey&&i){const n=pointer(e),o=-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*10,r=t*Math.pow(2,o);return void $.scaleTo(M,r,n)}const n=1===e.deltaMode?20:1,o=l===PanOnScrollMode.Vertical?0:e.deltaX*n,r=l===PanOnScrollMode.Horizontal?0:e.deltaY*n;$.translateBy(M,-o/t*a,-r/t*a)})))}),[P,s,l,M,$,R,k,i,y,S]),require$$0.useEffect((()=>{$&&$.on("start",(e=>{if(!e.sourceEvent)return null;A.current=e.sourceEvent.button;const{onViewportChangeStart:n}=w.getState();if(_.current=!0,"mousedown"===e.sourceEvent?.type&&w.setState({paneDragging:!0}),t||n){const o=eventToFlowTransform(e.transform);N.current=o,n?.(o),t?.(e.sourceEvent,o)}}))}),[$,t]),require$$0.useEffect((()=>{$&&(P&&!_.current?$.on("zoom",null):P||$.on("zoom",(t=>{const{onViewportChange:n}=w.getState();if(w.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),E.current=!(!o||!isRightClickPan(d,A.current??0)),e||n){const o=eventToFlowTransform(t.transform);n?.(o),e?.(t.sourceEvent,o)}})))}),[P,$,e,d,o]),require$$0.useEffect((()=>{$&&$.on("end",(e=>{if(!e.sourceEvent)return null;const{onViewportChangeEnd:t}=w.getState();if(_.current=!1,w.setState({paneDragging:!1}),o&&isRightClickPan(d,A.current??0)&&!E.current&&o(e.sourceEvent),E.current=!1,(n||t)&&viewChanged(N.current,e.transform)){const o=eventToFlowTransform(e.transform);N.current=o,clearTimeout(b.current),b.current=setTimeout((()=>{t?.(o),n?.(e.sourceEvent,o)}),s?150:0)}}))}),[$,s,d,n,o]),require$$0.useEffect((()=>{$&&$.filter((e=>{const t=k||r,n=i&&e.ctrlKey;if(1===e.button&&"mousedown"===e.type&&(isWrappedWithClass(e,"react-flow__node")||isWrappedWithClass(e,"react-flow__edge")))return!0;if(!(d||t||s||c||i))return!1;if(P)return!1;if(!c&&"dblclick"===e.type)return!1;if(isWrappedWithClass(e,S)&&"wheel"===e.type)return!1;if(isWrappedWithClass(e,v)&&"wheel"!==e.type)return!1;if(!i&&e.ctrlKey&&"wheel"===e.type)return!1;if(!t&&!s&&!n&&"wheel"===e.type)return!1;if(!d&&("mousedown"===e.type||"touchstart"===e.type))return!1;if(Array.isArray(d)&&!d.includes(e.button)&&("mousedown"===e.type||"touchstart"===e.type))return!1;const o=Array.isArray(d)&&d.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&o}))}),[P,$,r,i,s,c,d,u,k]),jsxRuntime.exports.jsx("div",{className:"react-flow__renderer",ref:C,style:containerStyle,children:x})},selector$9=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function UserSelection(){const{userSelectionActive:e,userSelectionRect:t}=useStore(selector$9,shallow);return e&&t?jsxRuntime.exports.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}function handleParentExpand(e,t){const n=e.find((e=>e.id===t.parentNode));if(n){const e=t.position.x+t.width-n.width,o=t.position.y+t.height-n.height;if(e>0||o>0||t.position.x<0||t.position.y<0){if(n.style={...n.style}||{},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,e>0&&(n.style.width+=e),o>0&&(n.style.height+=o),t.position.x<0){const e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function applyChanges(e,t){if(e.some((e=>"reset"===e.type)))return e.filter((e=>"reset"===e.type)).map((e=>e.item));const n=e.filter((e=>"add"===e.type)).map((e=>e.item));return t.reduce(((t,n)=>{const o=e.filter((e=>e.id===n.id));if(0===o.length)return t.push(n),t;const r={...n};for(const e of o)if(e)switch(e.type){case"select":r.selected=e.selected;break;case"position":void 0!==e.position&&(r.position=e.position),void 0!==e.positionAbsolute&&(r.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(r.dragging=e.dragging),r.expandParent&&handleParentExpand(t,r);break;case"dimensions":void 0!==e.dimensions&&(r.width=e.dimensions.width,r.height=e.dimensions.height),void 0!==e.updateStyle&&(r.style={...r.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(r.resizing=e.resizing),r.expandParent&&handleParentExpand(t,r);break;case"remove":return t}return t.push(r),t}),n)}function applyNodeChanges(e,t){return applyChanges(e,t)}const createSelectionChange=(e,t)=>({id:e,type:"select",selected:t});function getSelectionChanges(e,t){return e.reduce(((e,n)=>{const o=t.includes(n.id);return!n.selected&&o?(n.selected=!0,e.push(createSelectionChange(n.id,!0))):n.selected&&!o&&(n.selected=!1,e.push(createSelectionChange(n.id,!1))),e}),[])}const wrapHandler=(e,t)=>n=>{n.target===t.current&&e?.(n)},selector$8=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Pane=require$$0.memo((({isSelecting:e,selectionMode:t=SelectionMode.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:r,onPaneClick:i,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:d})=>{const h=require$$0.useRef(null),p=useStoreApi(),g=require$$0.useRef(0),f=require$$0.useRef(0),m=require$$0.useRef(),{userSelectionActive:y,elementsSelectable:x,dragging:S}=useStore(selector$8,shallow),v=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),g.current=0,f.current=0},b=e=>{i?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},w=a?e=>a(e):void 0,_=x&&(e||y);return jsxRuntime.exports.jsxs("div",{className:cc(["react-flow__pane",{dragging:S,selection:e}]),onClick:_?void 0:wrapHandler(b,h),onContextMenu:wrapHandler((e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():s?.(e)}),h),onWheel:wrapHandler(w,h),onMouseEnter:_?void 0:l,onMouseDown:_?t=>{const{resetSelectedElements:n,domNode:r}=p.getState();if(m.current=r?.getBoundingClientRect(),!x||!e||0!==t.button||t.target!==h.current||!m.current)return;const{x:i,y:s}=getEventPosition(t,m.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:i,startY:s,x:i,y:s}}),o?.(t)}:void 0,onMouseMove:_?n=>{const{userSelectionRect:o,nodeInternals:r,edges:i,transform:s,onNodesChange:a,onEdgesChange:l,nodeOrigin:c,getNodes:u}=p.getState();if(!e||!m.current||!o)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});const d=getEventPosition(n,m.current),h=o.startX??0,y=o.startY??0,x={...o,x:d.x<h?d.x:h,y:d.y<y?d.y:y,width:Math.abs(d.x-h),height:Math.abs(d.y-y)},S=u(),v=getNodesInside(r,x,s,t===SelectionMode.Partial,!0,c),b=getConnectedEdges(v,i).map((e=>e.id)),w=v.map((e=>e.id));if(g.current!==w.length){g.current=w.length;const e=getSelectionChanges(S,w);e.length&&a?.(e)}if(f.current!==b.length){f.current=b.length;const e=getSelectionChanges(i,b);e.length&&l?.(e)}p.setState({userSelectionRect:x})}:c,onMouseUp:_?e=>{if(0!==e.button)return;const{userSelectionRect:t}=p.getState();!y&&t&&e.target===h.current&&b?.(e),p.setState({nodesSelectionActive:g.current>0}),v(),r?.(e)}:void 0,onMouseLeave:_?e=>{y&&(p.setState({nodesSelectionActive:g.current>0}),r?.(e)),v()}:u,ref:h,style:containerStyle,children:[d,jsxRuntime.exports.jsx(UserSelection,{})]})}));Pane.displayName="Pane";const selector$7=e=>{const t=e.getNodes().filter((e=>e.selected));return{...getRectOfNodes(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function NodesSelection({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=useStoreApi(),{width:r,height:i,x:s,y:a,transformString:l,userSelectionActive:c}=useStore(selector$7,shallow),u=useUpdateNodePositions(),d=require$$0.useRef(null);if(require$$0.useEffect((()=>{n||d.current?.focus({preventScroll:!0})}),[n]),useDrag({nodeRef:d}),c||!r||!i)return null;const h=e?t=>{const n=o.getState().getNodes().filter((e=>e.selected));e(t,n)}:void 0;return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:jsxRuntime.exports.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&u({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey})},style:{width:r,height:i,top:a,left:s}})})}var NodesSelection$1=require$$0.memo(NodesSelection);const selector$6=e=>e.nodesSelectionActive,FlowRenderer=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:g,onSelectionEnd:f,multiSelectionKeyCode:m,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:S,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:w,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:N,defaultViewport:$,translateExtent:M,minZoom:R,maxZoom:P,preventScrolling:k,onSelectionContextMenu:A,noWheelClassName:D,noPanClassName:I,disableKeyboardA11y:j})=>{const O=useStore(selector$6),T=useKeyPress(d),B=useKeyPress(y)||N,z=T||h&&!0!==B;return useGlobalKeyHandler({deleteKeyCode:a,multiSelectionKeyCode:m}),jsxRuntime.exports.jsx(ZoomPane,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:i,elementsSelectable:S,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:w,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:!T&&B,defaultViewport:$,translateExtent:M,minZoom:R,maxZoom:P,zoomActivationKeyCode:x,preventScrolling:k,noWheelClassName:D,noPanClassName:I,children:jsxRuntime.exports.jsxs(Pane,{onSelectionStart:g,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:B,isSelecting:!!z,selectionMode:p,children:[e,O&&jsxRuntime.exports.jsx(NodesSelection$1,{onSelectionContextMenu:A,noPanClassName:I,disableKeyboardA11y:j})]})})};FlowRenderer.displayName="FlowRenderer";var FlowRenderer$1=require$$0.memo(FlowRenderer);function useVisibleNodes(e){return useStore(require$$0.useCallback((t=>e?getNodesInside(t.nodeInternals,{x:0,y:0,width:t.width,height:t.height},t.transform,!0):t.getNodes()),[e]))}const selector$5=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),NodeRenderer=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,updateNodeDimensions:i,onError:s}=useStore(selector$5,shallow),a=useVisibleNodes(e.onlyRenderVisibleElements),l=require$$0.useRef(),c=require$$0.useMemo((()=>{if("undefined"==typeof ResizeObserver)return null;const e=new ResizeObserver((e=>{const t=e.map((e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})));i(t)}));return l.current=e,e}),[]);return require$$0.useEffect((()=>()=>{l?.current?.disconnect()}),[]),jsxRuntime.exports.jsx("div",{className:"react-flow__nodes",style:containerStyle,children:a.map((i=>{let a=i.type||"default";e.nodeTypes[a]||(s?.("003",errorMessages["003"](a)),a="default");const l=e.nodeTypes[a]||e.nodeTypes.default,u=!!(i.draggable||t&&void 0===i.draggable),d=!!(i.selectable||r&&void 0===i.selectable),h=!!(i.connectable||n&&void 0===i.connectable),p=!!(i.focusable||o&&void 0===i.focusable),g=e.nodeExtent?clampPosition(i.positionAbsolute,e.nodeExtent):i.positionAbsolute,f=g?.x??0,m=g?.y??0,y=getPositionWithOrigin({x:f,y:m,width:i.width??0,height:i.height??0,origin:e.nodeOrigin});return jsxRuntime.exports.jsx(l,{id:i.id,className:i.className,style:i.style,type:a,data:i.data,sourcePosition:i.sourcePosition||Position.Bottom,targetPosition:i.targetPosition||Position.Top,hidden:i.hidden,xPos:f,yPos:m,xPosOrigin:y.x,yPosOrigin:y.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!i.selected,isDraggable:u,isSelectable:d,isConnectable:h,isFocusable:p,resizeObserver:c,dragHandle:i.dragHandle,zIndex:i[internalsSymbol]?.z??0,isParent:!!i[internalsSymbol]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!i.width&&!!i.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:i.ariaLabel},i.id)}))})};NodeRenderer.displayName="NodeRenderer";var NodeRenderer$1=require$$0.memo(NodeRenderer);const defaultEdgeTree=[{level:0,isMaxLevel:!0,edges:[]}];function groupEdgesByZLevel(e,t,n=!1){let o=-1;const r=e.reduce(((e,r)=>{const i=isNumeric(r.zIndex);let s=i?r.zIndex:0;return n&&(s=i?r.zIndex:Math.max(t.get(r.source)?.[internalsSymbol]?.z||0,t.get(r.target)?.[internalsSymbol]?.z||0)),e[s]?e[s].push(r):e[s]=[r],o=s>o?s:o,e}),{}),i=Object.entries(r).map((([e,t])=>{const n=+e;return{edges:t,level:n,isMaxLevel:n===o}}));return 0===i.length?defaultEdgeTree:i}function useVisibleEdges(e,t,n){return groupEdgesByZLevel(useStore(require$$0.useCallback((n=>e?n.edges.filter((e=>{const o=t.get(e.source),r=t.get(e.target);return o?.width&&o?.height&&r?.width&&r?.height&&isEdgeVisible({sourcePos:o.positionAbsolute||{x:0,y:0},targetPos:r.positionAbsolute||{x:0,y:0},sourceWidth:o.width,sourceHeight:o.height,targetWidth:r.width,targetHeight:r.height,width:n.width,height:n.height,transform:n.transform})})):n.edges),[e,t])),t,n)}const ArrowSymbol=({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),ArrowClosedSymbol=({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),MarkerSymbols={[MarkerType.Arrow]:ArrowSymbol,[MarkerType.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(e){const t=useStoreApi();return require$$0.useMemo((()=>Object.prototype.hasOwnProperty.call(MarkerSymbols,e)?MarkerSymbols[e]:(t.getState().onError?.("009",errorMessages["009"](e)),null)),[e])}const Marker=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=useMarkerSymbol(t);return l?jsxRuntime.exports.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0",children:jsxRuntime.exports.jsx(l,{color:n,strokeWidth:s})}):null},markerSelector=({defaultColor:e,rfId:t})=>n=>{const o=[];return n.edges.reduce(((n,r)=>([r.markerStart,r.markerEnd].forEach((r=>{if(r&&"object"==typeof r){const i=getMarkerId(r,t);o.includes(i)||(n.push({id:i,color:r.color||e,...r}),o.push(i))}})),n)),[]).sort(((e,t)=>e.id.localeCompare(t.id)))},MarkerDefinitions=({defaultColor:e,rfId:t})=>{const n=useStore(require$$0.useCallback(markerSelector({defaultColor:e,rfId:t}),[e,t]),((e,t)=>!(e.length!==t.length||e.some(((e,n)=>e.id!==t[n].id)))));return jsxRuntime.exports.jsx("defs",{children:n.map((e=>jsxRuntime.exports.jsx(Marker,{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)))})};MarkerDefinitions.displayName="MarkerDefinitions";var MarkerDefinitions$1=require$$0.memo(MarkerDefinitions);const selector$4=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),EdgeRenderer=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:o,edgeTypes:r,noPanClassName:i,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,edgeUpdaterRadius:h,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:f,children:m})=>{const{edgesFocusable:y,elementsSelectable:x,width:S,height:v,connectionMode:b,nodeInternals:w,onError:_}=useStore(selector$4,shallow),E=useVisibleEdges(t,w,n);return S?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[E.map((({level:t,edges:n,isMaxLevel:m})=>jsxRuntime.exports.jsxs("svg",{style:{zIndex:t},width:S,height:v,className:"react-flow__edges react-flow__container",children:[m&&jsxRuntime.exports.jsx(MarkerDefinitions$1,{defaultColor:e,rfId:o}),jsxRuntime.exports.jsx("g",{children:n.map((e=>{const[t,n,m]=getNodeData(w.get(e.source)),[S,v,E]=getNodeData(w.get(e.target));if(!m||!E)return null;let C=e.type||"default";r[C]||(_?.("011",errorMessages["011"](C)),C="default");const N=r[C]||r.default,$=b===ConnectionMode.Strict?v.target:(v.target??[]).concat(v.source??[]),M=getHandle(n.source,e.sourceHandle),R=getHandle($,e.targetHandle),P=M?.position||Position.Bottom,k=R?.position||Position.Top,A=!!(e.focusable||y&&void 0===e.focusable);if(!M||!R)return _?.("008",errorMessages["008"](M,e)),null;const{sourceX:D,sourceY:I,targetX:j,targetY:O}=getEdgePositions(t,M,P,S,R,k);return jsxRuntime.exports.jsx(N,{id:e.id,className:cc([e.className,i]),type:C,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:D,sourceY:I,targetX:j,targetY:O,sourcePosition:P,targetPosition:k,elementsSelectable:x,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,onClick:d,edgeUpdaterRadius:h,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:f,rfId:o,ariaLabel:e.ariaLabel,isFocusable:A,pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth},e.id)}))})]},t))),m]}):null};EdgeRenderer.displayName="EdgeRenderer";var EdgeRenderer$1=require$$0.memo(EdgeRenderer);const selector$3=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Viewport({children:e}){const t=useStore(selector$3);return jsxRuntime.exports.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function useOnInitHandler(e){const t=useReactFlow(),n=require$$0.useRef(!1);require$$0.useEffect((()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout((()=>e(t)),1),n.current=!0)}),[e,t.viewportInitialized])}const oppositePosition={[Position.Left]:Position.Right,[Position.Right]:Position.Left,[Position.Top]:Position.Bottom,[Position.Bottom]:Position.Top},ConnectionLine=({nodeId:e,handleType:t,style:n,type:o=ConnectionLineType.Bezier,CustomComponent:r,connectionStatus:i})=>{const{fromNode:s,handleId:a,toX:l,toY:c,connectionMode:u}=useStore(require$$0.useCallback((t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode})),[e]),shallow),d=s?.[internalsSymbol]?.handleBounds;let h=d?.[t];if(u===ConnectionMode.Loose&&(h=h||d?.["source"===t?"target":"source"]),!s||!h)return null;const p=a?h.find((e=>e.id===a)):h[0],g=p?p.x+p.width/2:(s.width??0)/2,f=p?p.y+p.height/2:s.height??0,m=(s.positionAbsolute?.x??0)+g,y=(s.positionAbsolute?.y??0)+f,x=p?.position,S=x?oppositePosition[x]:null;if(!x||!S)return null;if(r)return jsxRuntime.exports.jsx(r,{connectionLineType:o,connectionLineStyle:n,fromNode:s,fromHandle:p,fromX:m,fromY:y,toX:l,toY:c,fromPosition:x,toPosition:S,connectionStatus:i});let v="";const b={sourceX:m,sourceY:y,sourcePosition:x,targetX:l,targetY:c,targetPosition:S};return o===ConnectionLineType.Bezier?[v]=getBezierPath(b):o===ConnectionLineType.Step?[v]=getSmoothStepPath({...b,borderRadius:0}):o===ConnectionLineType.SmoothStep?[v]=getSmoothStepPath(b):o===ConnectionLineType.SimpleBezier?[v]=getSimpleBezierPath(b):v=`M${m},${y} ${l},${c}`,jsxRuntime.exports.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:n})};ConnectionLine.displayName="ConnectionLine";const selector$2=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function ConnectionLineWrapper({containerStyle:e,style:t,type:n,component:o}){const{nodeId:r,handleType:i,nodesConnectable:s,width:a,height:l,connectionStatus:c}=useStore(selector$2,shallow);return!!(r&&i&&a&&s)?jsxRuntime.exports.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:jsxRuntime.exports.jsx("g",{className:cc(["react-flow__connection",c]),children:jsxRuntime.exports.jsx(ConnectionLine,{nodeId:r,handleType:i,style:t,type:n,CustomComponent:o,connectionStatus:c})})}):null}const GraphView=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:o,onMoveEnd:r,onInit:i,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:p,onSelectionContextMenu:g,onSelectionStart:f,onSelectionEnd:m,connectionLineType:y,connectionLineStyle:x,connectionLineComponent:S,connectionLineContainerStyle:v,selectionKeyCode:b,selectionOnDrag:w,selectionMode:_,multiSelectionKeyCode:E,panActivationKeyCode:C,zoomActivationKeyCode:N,deleteKeyCode:$,onlyRenderVisibleElements:M,elementsSelectable:R,selectNodesOnDrag:P,defaultViewport:k,translateExtent:A,minZoom:D,maxZoom:I,preventScrolling:j,defaultMarkerColor:O,zoomOnScroll:T,zoomOnPinch:B,panOnScroll:z,panOnScrollSpeed:H,panOnScrollMode:q,zoomOnDoubleClick:L,panOnDrag:F,onPaneClick:U,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneScroll:K,onPaneContextMenu:W,onEdgeUpdate:Z,onEdgeContextMenu:G,onEdgeMouseEnter:J,onEdgeMouseMove:Q,onEdgeMouseLeave:ee,edgeUpdaterRadius:te,onEdgeUpdateStart:ne,onEdgeUpdateEnd:oe,noDragClassName:re,noWheelClassName:ie,noPanClassName:se,elevateEdgesOnSelect:ae,disableKeyboardA11y:le,nodeOrigin:ce,nodeExtent:ue,rfId:de})=>(useOnInitHandler(i),jsxRuntime.exports.jsx(FlowRenderer$1,{onPaneClick:U,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneContextMenu:W,onPaneScroll:K,deleteKeyCode:$,selectionKeyCode:b,selectionOnDrag:w,selectionMode:_,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:E,panActivationKeyCode:C,zoomActivationKeyCode:N,elementsSelectable:R,onMove:n,onMoveStart:o,onMoveEnd:r,zoomOnScroll:T,zoomOnPinch:B,zoomOnDoubleClick:L,panOnScroll:z,panOnScrollSpeed:H,panOnScrollMode:q,panOnDrag:F,defaultViewport:k,translateExtent:A,minZoom:D,maxZoom:I,onSelectionContextMenu:g,preventScrolling:j,noDragClassName:re,noWheelClassName:ie,noPanClassName:se,disableKeyboardA11y:le,children:jsxRuntime.exports.jsxs(Viewport,{children:[jsxRuntime.exports.jsx(EdgeRenderer$1,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:c,onEdgeUpdate:Z,onlyRenderVisibleElements:M,onEdgeContextMenu:G,onEdgeMouseEnter:J,onEdgeMouseMove:Q,onEdgeMouseLeave:ee,onEdgeUpdateStart:ne,onEdgeUpdateEnd:oe,edgeUpdaterRadius:te,defaultMarkerColor:O,noPanClassName:se,elevateEdgesOnSelect:!!ae,disableKeyboardA11y:le,rfId:de,children:jsxRuntime.exports.jsx(ConnectionLineWrapper,{style:x,type:y,component:S,containerStyle:v})}),jsxRuntime.exports.jsx("div",{className:"react-flow__edgelabel-renderer"}),jsxRuntime.exports.jsx(NodeRenderer$1,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:p,selectNodesOnDrag:P,onlyRenderVisibleElements:M,noPanClassName:se,noDragClassName:re,disableKeyboardA11y:le,nodeOrigin:ce,nodeExtent:ue,rfId:de})]})}));GraphView.displayName="GraphView";var GraphView$1=require$$0.memo(GraphView);const infiniteExtent=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],initialState={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:infiniteExtent,nodeExtent:infiniteExtent,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:devWarn},createRFStore=()=>createStore(((e,t)=>({...initialState,setNodes:n=>{const{nodeInternals:o,nodeOrigin:r,elevateNodesOnSelect:i}=t();e({nodeInternals:createNodeInternals(n,o,r,i)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:o={}}=t();e({edges:n.map((e=>({...o,...e})))})},setDefaultNodesAndEdges:(n,o)=>{const r=void 0!==n,i=void 0!==o,s=r?createNodeInternals(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:i?o:[],hasDefaultNodes:r,hasDefaultEdges:i})},updateNodeDimensions:n=>{const{onNodesChange:o,nodeInternals:r,fitViewOnInit:i,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:c}=t(),u=l?.querySelector(".react-flow__viewport");if(!u)return;const d=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(d.transform),p=n.reduce(((e,t)=>{const n=r.get(t.id);if(n){const o=getDimensions(t.nodeElement);!(!o.width||!o.height||n.width===o.width&&n.height===o.height&&!t.forceUpdate)&&(r.set(n.id,{...n,[internalsSymbol]:{...n[internalsSymbol],handleBounds:{source:getHandleBounds(".source",t.nodeElement,h,c),target:getHandleBounds(".target",t.nodeElement,h,c)}},...o}),e.push({id:n.id,type:"dimensions",dimensions:o}))}return e}),[]);updateAbsoluteNodePositions(r,c);const g=s||i&&!s&&fitView(t,{initial:!0,...a});e({nodeInternals:new Map(r),fitViewOnInitDone:g}),p?.length>0&&o?.(p)},updateNodePositions:(e,n=!0,o=!1)=>{const{triggerNodeChanges:r}=t();r(e.map((e=>{const t={id:e.id,type:"position",dragging:o};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t})))},triggerNodeChanges:n=>{const{onNodesChange:o,nodeInternals:r,hasDefaultNodes:i,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n?.length){if(i){const t=createNodeInternals(applyNodeChanges(n,a()),r,s,l);e({nodeInternals:t})}o?.(n)}},addSelectedNodes:n=>{const{multiSelectionActive:o,edges:r,getNodes:i}=t();let s,a=null;o?s=n.map((e=>createSelectionChange(e,!0))):(s=getSelectionChanges(i(),n),a=getSelectionChanges(r,[])),updateNodesAndEdgesSelections({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:o,edges:r,getNodes:i}=t();let s,a=null;o?s=n.map((e=>createSelectionChange(e,!0))):(s=getSelectionChanges(r,n),a=getSelectionChanges(i(),[])),updateNodesAndEdgesSelections({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{const{edges:r,getNodes:i}=t(),s=o||r;updateNodesAndEdgesSelections({changedNodes:(n||i()).map((e=>(e.selected=!1,createSelectionChange(e.id,!1)))),changedEdges:s.map((e=>createSelectionChange(e.id,!1))),get:t,set:e})},setMinZoom:n=>{const{d3Zoom:o,maxZoom:r}=t();o?.scaleExtent([n,r]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:o,minZoom:r}=t();o?.scaleExtent([r,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:o}=t();updateNodesAndEdgesSelections({changedNodes:o().filter((e=>e.selected)).map((e=>createSelectionChange(e.id,!1))),changedEdges:n.filter((e=>e.selected)).map((e=>createSelectionChange(e.id,!1))),get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:o}=t();o.forEach((e=>{e.positionAbsolute=clampPosition(e.position,n)})),e({nodeExtent:n,nodeInternals:new Map(o)})},panBy:e=>{const{transform:n,width:o,height:r,d3Zoom:i,d3Selection:s,translateExtent:a}=t();if(!i||!s||!e.x&&!e.y)return;const l=identity.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),c=[[0,0],[o,r]],u=i?.constrain()(l,c,a);i.transform(s,u)},cancelConnection:()=>e({connectionNodeId:initialState.connectionNodeId,connectionHandleId:initialState.connectionHandleId,connectionHandleType:initialState.connectionHandleType,connectionStatus:initialState.connectionStatus}),reset:()=>e({...initialState})}))),ReactFlowProvider=({children:e})=>{const t=require$$0.useRef(null);return t.current||(t.current=createRFStore()),jsxRuntime.exports.jsx(Provider$1,{value:t.current,children:e})};ReactFlowProvider.displayName="ReactFlowProvider";const Wrapper=({children:e})=>require$$0.useContext(StoreContext)?jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:e}):jsxRuntime.exports.jsx(ReactFlowProvider,{children:e});function useNodeOrEdgeTypes(e,t){require$$0.useRef(null);return require$$0.useMemo((()=>t(e)),[e])}Wrapper.displayName="ReactFlowWrapper";const defaultNodeTypes={input:InputNode$1,default:DefaultNode$1,output:OutputNode$1,group:GroupNode},defaultEdgeTypes={default:BezierEdge,straight:StraightEdge,step:StepEdge,smoothstep:SmoothStepEdge,simplebezier:SimpleBezierEdge},initNodeOrigin=[0,0],initSnapGrid=[15,15],initDefaultViewport={x:0,y:0,zoom:1},wrapperStyle={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},ReactFlow=require$$0.forwardRef((({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i=defaultNodeTypes,edgeTypes:s=defaultEdgeTypes,onNodeClick:a,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:d,onMoveEnd:h,onConnect:p,onConnectStart:g,onConnectEnd:f,onClickConnectStart:m,onClickConnectEnd:y,onNodeMouseEnter:x,onNodeMouseMove:S,onNodeMouseLeave:v,onNodeContextMenu:b,onNodeDoubleClick:w,onNodeDragStart:_,onNodeDrag:E,onNodeDragStop:C,onNodesDelete:N,onEdgesDelete:$,onSelectionChange:M,onSelectionDragStart:R,onSelectionDrag:P,onSelectionDragStop:k,onSelectionContextMenu:A,onSelectionStart:D,onSelectionEnd:I,connectionMode:j=ConnectionMode.Strict,connectionLineType:O=ConnectionLineType.Bezier,connectionLineStyle:T,connectionLineComponent:B,connectionLineContainerStyle:z,deleteKeyCode:H="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:L=!1,selectionMode:F=SelectionMode.Full,panActivationKeyCode:U="Space",multiSelectionKeyCode:V="Meta",zoomActivationKeyCode:Y="Meta",snapToGrid:X=!1,snapGrid:K=initSnapGrid,onlyRenderVisibleElements:W=!1,selectNodesOnDrag:Z=!0,nodesDraggable:G,nodesConnectable:J,nodesFocusable:Q,nodeOrigin:ee=initNodeOrigin,edgesFocusable:te,elementsSelectable:ne,defaultViewport:oe=initDefaultViewport,minZoom:re=.5,maxZoom:ie=2,translateExtent:se=infiniteExtent,preventScrolling:ae=!0,nodeExtent:le,defaultMarkerColor:ce="#b1b1b7",zoomOnScroll:ue=!0,zoomOnPinch:de=!0,panOnScroll:he=!1,panOnScrollSpeed:pe=.5,panOnScrollMode:ge=PanOnScrollMode.Free,zoomOnDoubleClick:fe=!0,panOnDrag:me=!0,onPaneClick:ye,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:ve,onPaneScroll:be,onPaneContextMenu:we,children:_e,onEdgeUpdate:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Ne,onEdgeMouseEnter:$e,onEdgeMouseMove:Me,onEdgeMouseLeave:Re,onEdgeUpdateStart:Pe,onEdgeUpdateEnd:ke,edgeUpdaterRadius:Ae=10,onNodesChange:De,onEdgesChange:Ie,noDragClassName:je="nodrag",noWheelClassName:Oe="nowheel",noPanClassName:Te="nopan",fitView:Be=!1,fitViewOptions:ze,connectOnClick:He=!0,attributionPosition:qe,proOptions:Le,defaultEdgeOptions:Fe,elevateNodesOnSelect:Ue=!0,elevateEdgesOnSelect:Ve=!1,disableKeyboardA11y:Ye=!1,autoPanOnConnect:Xe=!0,autoPanOnNodeDrag:Ke=!0,connectionRadius:We=20,onError:Ze,style:Ge,id:Je,...Qe},et)=>{const tt=useNodeOrEdgeTypes(i,createNodeTypes),nt=useNodeOrEdgeTypes(s,createEdgeTypes),ot=Je||"1";return jsxRuntime.exports.jsx("div",{...Qe,style:{...Ge,...wrapperStyle},ref:et,className:cc(["react-flow",r]),"data-testid":"rf__wrapper",id:Je,children:jsxRuntime.exports.jsxs(Wrapper,{children:[jsxRuntime.exports.jsx(GraphView$1,{onInit:c,onMove:u,onMoveStart:d,onMoveEnd:h,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:x,onNodeMouseMove:S,onNodeMouseLeave:v,onNodeContextMenu:b,onNodeDoubleClick:w,nodeTypes:tt,edgeTypes:nt,connectionLineType:O,connectionLineStyle:T,connectionLineComponent:B,connectionLineContainerStyle:z,selectionKeyCode:q,selectionOnDrag:L,selectionMode:F,deleteKeyCode:H,multiSelectionKeyCode:V,panActivationKeyCode:U,zoomActivationKeyCode:Y,onlyRenderVisibleElements:W,selectNodesOnDrag:Z,defaultViewport:oe,translateExtent:se,minZoom:re,maxZoom:ie,preventScrolling:ae,zoomOnScroll:ue,zoomOnPinch:de,zoomOnDoubleClick:fe,panOnScroll:he,panOnScrollSpeed:pe,panOnScrollMode:ge,panOnDrag:me,onPaneClick:ye,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:ve,onPaneScroll:be,onPaneContextMenu:we,onSelectionContextMenu:A,onSelectionStart:D,onSelectionEnd:I,onEdgeUpdate:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Ne,onEdgeMouseEnter:$e,onEdgeMouseMove:Me,onEdgeMouseLeave:Re,onEdgeUpdateStart:Pe,onEdgeUpdateEnd:ke,edgeUpdaterRadius:Ae,defaultMarkerColor:ce,noDragClassName:je,noWheelClassName:Oe,noPanClassName:Te,elevateEdgesOnSelect:Ve,rfId:ot,disableKeyboardA11y:Ye,nodeOrigin:ee,nodeExtent:le}),jsxRuntime.exports.jsx(StoreUpdater,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:p,onConnectStart:g,onConnectEnd:f,onClickConnectStart:m,onClickConnectEnd:y,nodesDraggable:G,nodesConnectable:J,nodesFocusable:Q,edgesFocusable:te,elementsSelectable:ne,elevateNodesOnSelect:Ue,minZoom:re,maxZoom:ie,nodeExtent:le,onNodesChange:De,onEdgesChange:Ie,snapToGrid:X,snapGrid:K,connectionMode:j,translateExtent:se,connectOnClick:He,defaultEdgeOptions:Fe,fitView:Be,fitViewOptions:ze,onNodesDelete:N,onEdgesDelete:$,onNodeDragStart:_,onNodeDrag:E,onNodeDragStop:C,onSelectionDrag:P,onSelectionDragStart:R,onSelectionDragStop:k,noPanClassName:Te,nodeOrigin:ee,rfId:ot,autoPanOnConnect:Xe,autoPanOnNodeDrag:Ke,onError:Ze,connectionRadius:We}),jsxRuntime.exports.jsx(Wrapper$1,{onSelectionChange:M}),_e,jsxRuntime.exports.jsx(Attribution,{proOptions:Le,position:qe}),jsxRuntime.exports.jsx(A11yDescriptions,{rfId:ot,disableKeyboardA11y:Ye})]})})}));ReactFlow.displayName="ReactFlow";const MiniMapNode=({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:a,strokeWidth:l,className:c,borderRadius:u,shapeRendering:d,onClick:h})=>{const{background:p,backgroundColor:g}=i||{},f=s||p||g;return jsxRuntime.exports.jsx("rect",{className:cc(["react-flow__minimap-node",c]),x:t,y:n,rx:u,ry:u,width:o,height:r,fill:f,stroke:a,strokeWidth:l,shapeRendering:d,onClick:h?t=>h(t,e):void 0})};MiniMapNode.displayName="MiniMapNode";var MiniMapNode$1=require$$0.memo(MiniMapNode);const defaultWidth=200,defaultHeight=150,selector$1=e=>{const t=e.getNodes(),n={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{nodes:t.filter((e=>!e.hidden&&e.width&&e.height)),viewBB:n,boundingRect:t.length>0?getBoundsOfRects(getRectOfNodes(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},getAttrFunction=e=>e instanceof Function?e:()=>e,ARIA_LABEL_KEY="react-flow__minimap-desc";function MiniMap({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:o="#e2e2e2",nodeClassName:r="",nodeBorderRadius:i=5,nodeStrokeWidth:s=2,maskColor:a="rgb(240, 240, 240, 0.6)",maskStrokeColor:l="none",maskStrokeWidth:c=1,position:u="bottom-right",onClick:d,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:f="React Flow mini map"}){const m=useStoreApi(),y=require$$0.useRef(null),{boundingRect:x,viewBB:S,nodes:v,rfId:b,nodeOrigin:w}=useStore(selector$1,shallow),_=e?.width??defaultWidth,E=e?.height??defaultHeight,C=getAttrFunction(o),N=getAttrFunction(n),$=getAttrFunction(r),M=x.width/_,R=x.height/E,P=Math.max(M,R),k=P*_,A=P*E,D=5*P,I=x.x-(k-x.width)/2-D,j=x.y-(A-x.height)/2-D,O=k+2*D,T=A+2*D,B="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision",z=`${ARIA_LABEL_KEY}-${b}`,H=require$$0.useRef(0);H.current=P,require$$0.useEffect((()=>{if(y.current){const e=select(y.current),t=e=>{const{transform:t,d3Selection:n,d3Zoom:o}=m.getState();if("wheel"!==e.sourceEvent.type||!n||!o)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*10,i=t[2]*Math.pow(2,r);o.scaleTo(n,i)},n=e=>{const{transform:t,d3Selection:n,d3Zoom:o,translateExtent:r,width:i,height:s}=m.getState();if("mousemove"!==e.sourceEvent.type||!n||!o)return;const a={x:t[0]-e.sourceEvent.movementX*H.current*Math.max(1,t[2]),y:t[1]-e.sourceEvent.movementY*H.current*Math.max(1,t[2])},l=[[0,0],[i,s]],c=identity.translate(a.x,a.y).scale(t[2]),u=o.constrain()(c,l,r);o.transform(n,u)},o=zoom().on("zoom",p?n:null).on("zoom.wheel",g?t:null);return e.call(o),()=>{e.on("zoom",null)}}}),[p,g]);const q=d?e=>{const t=pointer(e);d(e,{x:t[0],y:t[1]})}:void 0,L=h?(e,t)=>{const n=m.getState().nodeInternals.get(t);h(e,n)}:void 0;return jsxRuntime.exports.jsx(Panel,{position:u,style:e,className:cc(["react-flow__minimap",t]),children:jsxRuntime.exports.jsxs("svg",{width:_,height:E,viewBox:`${I} ${j} ${O} ${T}`,role:"img","aria-labelledby":z,ref:y,onClick:q,children:[f&&jsxRuntime.exports.jsx("title",{id:z,children:f}),v.map((e=>{const{x:t,y:n}=getNodePositionWithOrigin(e,w).positionAbsolute;return jsxRuntime.exports.jsx(MiniMapNode$1,{x:t,y:n,width:e.width,height:e.height,style:e.style,className:$(e),color:C(e),borderRadius:i,strokeColor:N(e),strokeWidth:s,shapeRendering:B,onClick:L,id:e.id},e.id)})),jsxRuntime.exports.jsx("path",{className:"react-flow__minimap-mask",d:`M${I-D},${j-D}h${O+2*D}v${T+2*D}h${-O-2*D}z\n M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fill:a,fillRule:"evenodd",stroke:l,strokeWidth:c,pointerEvents:"none"})]})})}function PlusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:jsxRuntime.exports.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function MinusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:jsxRuntime.exports.jsx("path",{d:"M0 0h32v4.2H0z"})})}function FitViewIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:jsxRuntime.exports.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 LockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.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 UnlockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.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"})})}MiniMap.displayName="MiniMap",require$$0.memo(MiniMap);const ControlButton=({children:e,className:t,...n})=>jsxRuntime.exports.jsx("button",{type:"button",className:cc(["react-flow__controls-button",t]),...n,children:e});ControlButton.displayName="ControlButton";const isInteractiveSelector=e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable,Controls=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:a,onInteractiveChange:l,className:c,children:u,position:d="bottom-left"})=>{const h=useStoreApi(),[p,g]=require$$0.useState(!1),f=useStore(isInteractiveSelector),{zoomIn:m,zoomOut:y,fitView:x}=useReactFlow();if(require$$0.useEffect((()=>{g(!0)}),[]),!p)return null;return jsxRuntime.exports.jsxs(Panel,{className:cc(["react-flow__controls",c]),position:d,style:e,children:[t&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{m(),i?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:jsxRuntime.exports.jsx(PlusIcon,{})}),jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{y(),s?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:jsxRuntime.exports.jsx(MinusIcon,{})})]}),n&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-fitview",onClick:()=>{x(r),a?.()},title:"fit view","aria-label":"fit view",children:jsxRuntime.exports.jsx(FitViewIcon,{})}),o&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),l?.(!f)},title:"toggle interactivity","aria-label":"toggle interactivity",children:f?jsxRuntime.exports.jsx(UnlockIcon,{}):jsxRuntime.exports.jsx(LockIcon,{})}),u]})};Controls.displayName="Controls";var Controls$1=require$$0.memo(Controls),BackgroundVariant;function LinePattern({color:e,dimensions:t,lineWidth:n}){return jsxRuntime.exports.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function DotPattern({color:e,radius:t}){return jsxRuntime.exports.jsx("circle",{cx:t,cy:t,r:t,fill:e})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(BackgroundVariant||(BackgroundVariant={}));const defaultColor={[BackgroundVariant.Dots]:"#91919a",[BackgroundVariant.Lines]:"#eee",[BackgroundVariant.Cross]:"#e2e2e2"},defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6},selector=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Background({variant:e=BackgroundVariant.Dots,gap:t=20,size:n,lineWidth:o=1,color:r,style:i,className:s}){const a=require$$0.useRef(null),{transform:l,patternId:c}=useStore(selector,shallow),u=r||defaultColor[e],d=n||defaultSize[e],h=e===BackgroundVariant.Dots,p=e===BackgroundVariant.Cross,g=Array.isArray(t)?t:[t,t],f=[g[0]*l[2]||1,g[1]*l[2]||1],m=d*l[2],y=p?[m,m]:f,x=h?[m/2,m/2]:[y[0]/2,y[1]/2];return jsxRuntime.exports.jsxs("svg",{className:cc(["react-flow__background",s]),style:{...i,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:a,children:[jsxRuntime.exports.jsx("pattern",{id:c,x:l[0]%f[0],y:l[1]%f[1],width:f[0],height:f[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${x[0]},-${x[1]})`,children:h?jsxRuntime.exports.jsx(DotPattern,{color:u,radius:m/2}):jsxRuntime.exports.jsx(LinePattern,{dimensions:y,color:u,lineWidth:o})}),jsxRuntime.exports.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${c})`})]})}Background.displayName="Background";var Background$1=require$$0.memo(Background),freeGlobal$1="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$1=freeGlobal||freeSelf||Function("return this")(),_root=root$1,root=_root,Symbol$3=root.Symbol,_Symbol=Symbol$3,Symbol$2=_Symbol;Symbol$2&&Symbol$2.toStringTag;var Symbol$1=_Symbol;Symbol$1&&Symbol$1.toStringTag;var funcProto=Function.prototype,funcToString=funcProto.toString;funcToString.call(Object);const getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context?Builder.settings.context:Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const n={"Content-Type":"application/json"},o=getAuthorization();o&&(n.Authorization=o),t.headers=Object.assign({},n,t.headers),t.credentials="include";const r=await fetch(`${getRootUrl()}${e}`,t);if(401===r.status)throw new Error(401);const i=await r.json();if(i.errors)throw console.error(i.errors),new Error("Failed to fetch API");return i}function getAuthorization(){try{const e=getBuilderContext();let t=e.tenantId,n=e.authToken;return t&&n?`Bearer ${t},${n}`:null}catch(e){console.error(e)}}function getRootUrl(e){const t=getBuilderContext();if(t.rootUrl)return t.rootUrl;const n="undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"";return n||e}let UI_SCHEMA_CACHE={},UISchemaFunction;"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE);const setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t},getUISchemaCache=e=>___default.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>___default.has(UI_SCHEMA_CACHE,e);function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema),___default.each(uiSchema.fields,(field=>{try{"lookup"===field.type&&field._reference_to&&___default__default.default.isString(field._reference_to)&&(field.reference_to=eval(`(${field._reference_to})`)())}catch(e){field.reference_to=void 0,console.error(e)}})),___default.each(uiSchema.list_views,((e,t)=>{e.name=t,___default.has(e,"columns")||(e.columns=uiSchema.list_views.all.columns)}))}async function getUISchema(e,t){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let n=null;try{if(UISchemaFunction);else{const t=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;n=await fetchAPI(t,{method:"get"})}if(!n)return;formatUISchemaCache(e,n)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}function getUISchemaSync(e,t){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let n=null;try{const t=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;if(n=Steedos.authRequest(t,{type:"GET",async:!1}),!n)return;formatUISchemaCache(e,n)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}"undefined"!=typeof window&&(window.getUISchema=getUISchema,window.getUISchemaSync=getUISchemaSync);var AmisReactFlow=function(e){e.dispatchEvent;var t=e.wrapperClassName,n=e.data;e.env,e.store,e.topStore,e.rootStore,e.scope,e.id,e.render,e.getValue,e.setValue,e.value;var o=e.config,r=__rest(e,["dispatchEvent","wrapperClassName","data","env","store","topStore","rootStore","scope","id","render","getValue","setValue","value","config"]),i={};if("string"==typeof o)try{i=JSON.parse(o)}catch(e){console.log(e)}"object"==typeof o&&(i=o);var s=r.onDataFilter,a=r.dataFilter;s||"string"!=typeof a||(s=new Function("config","ReactFlow","data",a));try{s&&(i=s(i,window.ReactFlow,n)||i)}catch(e){console.warn(e)}return require$$0__default.default.createElement("div",{className:t},require$$0__default.default.createElement(ReactFlow,__assign({},i),require$$0__default.default.createElement(Background$1,null),require$$0__default.default.createElement(Controls$1,null)))};"undefined"==typeof window&&(window.ReactFlow=ReactFlow),exports.AmisReactFlow=AmisReactFlow,exports.ReactFlow=ReactFlow,Object.defineProperty(exports,"__esModule",{value:!0})}));
10
+ */function requireWithSelector_production_min(){if(hasRequiredWithSelector_production_min)return withSelector_production_min;hasRequiredWithSelector_production_min=1;var e=require$$0__default.default,t=requireShim();var n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=t.useSyncExternalStore,r=e.useRef,i=e.useEffect,s=e.useMemo,a=e.useDebugValue;return withSelector_production_min.useSyncExternalStoreWithSelector=function(e,t,l,c,u){var d=r(null);if(null===d.current){var h={hasValue:!1,value:null};d.current=h}else h=d.current;d=s((function(){function e(e){if(!i){if(i=!0,o=e,e=c(e),void 0!==u&&h.hasValue){var t=h.value;if(u(t,e))return r=t}return r=e}if(t=r,n(o,e))return t;var s=c(e);return void 0!==u&&u(t,s)?t:(o=e,r=s)}var o,r,i=!1,s=void 0===l?null:l;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]}),[t,l,c,u]);var p=o(e,d[0],d[1]);return i((function(){h.hasValue=!0,h.value=p}),[p]),a(p),p},withSelector_production_min}!function(e){e.exports=requireWithSelector_production_min()}(withSelector);var useSyncExternalStoreExports=getDefaultExportFromCjs(withSelector.exports);const{useSyncExternalStoreWithSelector:useSyncExternalStoreWithSelector}=useSyncExternalStoreExports;function useStore$1(e,t=e.getState,n){const o=useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return require$$0.useDebugValue(o),o}function shallow(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(const[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(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(t,n[o])||!Object.is(e[n[o]],t[n[o]]))return!1;return!0}var noop$1={value:()=>{}};function dispatch(){for(var e,t=0,n=arguments.length,o={};t<n;++t){if(!(e=arguments[t]+"")||e in o||/[\s.]/.test(e))throw new Error("illegal type: "+e);o[e]=[]}return new Dispatch(o)}function Dispatch(e){this._=e}function parseTypenames$1(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",o=e.indexOf(".");if(o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function get$1(e,t){for(var n,o=0,r=e.length;o<r;++o)if((n=e[o]).name===t)return n.value}function set$1(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=noop$1,e=e.slice(0,o).concat(e.slice(o+1));break}return null!=n&&e.push({name:t,value:n}),e}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(e,t){var n,o=this._,r=parseTypenames$1(e+"",o),i=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++i<s;)if(n=(e=r[i]).type)o[n]=set$1(o[n],e.name,t);else if(null==t)for(n in o)o[n]=set$1(o[n],e.name,null);return this}for(;++i<s;)if((n=(e=r[i]).type)&&(n=get$1(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Dispatch(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,o,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,n=(o=this._[e]).length;i<n;++i)o[i].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};var xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),namespaces.hasOwnProperty(t)?{space:namespaces[t],local:e}:e}function creatorInherit(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===xhtml&&t.documentElement.namespaceURI===xhtml?t.createElement(e):t.createElementNS(n,e)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator(e){var t=namespace(e);return(t.local?creatorFixed:creatorInherit)(t)}function none(){}function selector$h(e){return null==e?none:function(){return this.querySelector(e)}}function selection_select(e){"function"!=typeof e&&(e=selector$h(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s,a=t[r],l=a.length,c=o[r]=new Array(l),u=0;u<l;++u)(i=a[u])&&(s=e.call(i,i.__data__,u,a))&&("__data__"in i&&(s.__data__=i.__data__),c[u]=s);return new Selection$1(o,this._parents)}function array(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function empty(){return[]}function selectorAll(e){return null==e?empty:function(){return this.querySelectorAll(e)}}function arrayAll(e){return function(){return array(e.apply(this,arguments))}}function selection_selectAll(e){e="function"==typeof e?arrayAll(e):selectorAll(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s,a=t[i],l=a.length,c=0;c<l;++c)(s=a[c])&&(o.push(e.call(s,s.__data__,c,a)),r.push(s));return new Selection$1(o,r)}function matcher(e){return function(){return this.matches(e)}}function childMatcher(e){return function(t){return t.matches(e)}}var find=Array.prototype.find;function childFind(e){return function(){return find.call(this.children,e)}}function childFirst(){return this.firstElementChild}function selection_selectChild(e){return this.select(null==e?childFirst:childFind("function"==typeof e?e:childMatcher(e)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(e){return function(){return filter.call(this.children,e)}}function selection_selectChildren(e){return this.selectAll(null==e?children:childrenFilter("function"==typeof e?e:childMatcher(e)))}function selection_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s=t[r],a=s.length,l=o[r]=[],c=0;c<a;++c)(i=s[c])&&e.call(i,i.__data__,c,s)&&l.push(i);return new Selection$1(o,this._parents)}function sparse(e){return new Array(e.length)}function selection_enter(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function constant$3(e){return function(){return e}}function bindIndex(e,t,n,o,r,i){for(var s,a=0,l=t.length,c=i.length;a<c;++a)(s=t[a])?(s.__data__=i[a],o[a]=s):n[a]=new EnterNode(e,i[a]);for(;a<l;++a)(s=t[a])&&(r[a]=s)}function bindKey(e,t,n,o,r,i,s){var a,l,c,u=new Map,d=t.length,h=i.length,p=new Array(d);for(a=0;a<d;++a)(l=t[a])&&(p[a]=c=s.call(l,l.__data__,a,t)+"",u.has(c)?r[a]=l:u.set(c,l));for(a=0;a<h;++a)c=s.call(e,i[a],a,i)+"",(l=u.get(c))?(o[a]=l,l.__data__=i[a],u.delete(c)):n[a]=new EnterNode(e,i[a]);for(a=0;a<d;++a)(l=t[a])&&u.get(p[a])===l&&(r[a]=l)}function datum(e){return e.__data__}function selection_data(e,t){if(!arguments.length)return Array.from(this,datum);var n=t?bindKey:bindIndex,o=this._parents,r=this._groups;"function"!=typeof e&&(e=constant$3(e));for(var i=r.length,s=new Array(i),a=new Array(i),l=new Array(i),c=0;c<i;++c){var u=o[c],d=r[c],h=d.length,p=arraylike(e.call(u,u&&u.__data__,c,o)),g=p.length,f=a[c]=new Array(g),m=s[c]=new Array(g),y=l[c]=new Array(h);n(u,d,f,m,y,p,t);for(var x,S,v=0,b=0;v<g;++v)if(x=f[v]){for(v>=b&&(b=v+1);!(S=m[b])&&++b<g;);x._next=S||null}}return(s=new Selection$1(s,o))._enter=a,s._exit=l,s}function arraylike(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function selection_exit(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)}function selection_join(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}function selection_merge(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),a=new Array(r),l=0;l<s;++l)for(var c,u=n[l],d=o[l],h=u.length,p=a[l]=new Array(h),g=0;g<h;++g)(c=u[g]||d[g])&&(p[g]=c);for(;l<r;++l)a[l]=n[l];return new Selection$1(a,this._parents)}function selection_order(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o,r=e[t],i=r.length-1,s=r[i];--i>=0;)(o=r[i])&&(s&&4^o.compareDocumentPosition(s)&&s.parentNode.insertBefore(o,s),s=o);return this}function selection_sort(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=ascending);for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s,a=n[i],l=a.length,c=r[i]=new Array(l),u=0;u<l;++u)(s=a[u])&&(c[u]=s);c.sort(t)}return new Selection$1(r,this._parents).order()}function ascending(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function selection_call(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){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 s=o[r];if(s)return s}return null}function selection_size(){let e=0;for(const t of this)++e;return e}function selection_empty(){return!this.node()}function selection_each(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r,i=t[n],s=0,a=i.length;s<a;++s)(r=i[s])&&e.call(r,r.__data__,s,i);return this}function attrRemove$1(e){return function(){this.removeAttribute(e)}}function attrRemoveNS$1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant$1(e,t){return function(){this.setAttribute(e,t)}}function attrConstantNS$1(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function attrFunction$1(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function attrFunctionNS$1(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 selection_attr(e,t){var n=namespace(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?attrRemoveNS$1:attrRemove$1:"function"==typeof t?n.local?attrFunctionNS$1:attrFunction$1:n.local?attrConstantNS$1:attrConstant$1)(n,t))}function defaultView(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function styleRemove$1(e){return function(){this.style.removeProperty(e)}}function styleConstant$1(e,t,n){return function(){this.style.setProperty(e,t,n)}}function styleFunction$1(e,t,n){return function(){var o=t.apply(this,arguments);null==o?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function selection_style(e,t,n){return arguments.length>1?this.each((null==t?styleRemove$1:"function"==typeof t?styleFunction$1:styleConstant$1)(e,t,null==n?"":n)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||defaultView(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function selection_property(e,t){return arguments.length>1?this.each((null==t?propertyRemove:"function"==typeof t?propertyFunction:propertyConstant)(e,t)):this.node()[e]}function classArray(e){return e.trim().split(/^|\s+/)}function classList(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute("class")||"")}function classedAdd(e,t){for(var n=classList(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function classedRemove(e,t){for(var n=classList(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function classedTrue(e){return function(){classedAdd(this,e)}}function classedFalse(e){return function(){classedRemove(this,e)}}function classedFunction(e,t){return function(){(t.apply(this,arguments)?classedAdd:classedRemove)(this,e)}}function selection_classed(e,t){var n=classArray(e+"");if(arguments.length<2){for(var o=classList(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?classedFunction:t?classedTrue:classedFalse)(n,t))}function textRemove(){this.textContent=""}function textConstant$1(e){return function(){this.textContent=e}}function textFunction$1(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function selection_text(e){return arguments.length?this.each(null==e?textRemove:("function"==typeof e?textFunction$1:textConstant$1)(e)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(e){return function(){this.innerHTML=e}}function htmlFunction(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function selection_html(e){return arguments.length?this.each(null==e?htmlRemove:("function"==typeof e?htmlFunction:htmlConstant)(e)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(e){var t="function"==typeof e?e:creator(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))}function constantNull(){return null}function selection_insert(e,t){var n="function"==typeof e?e:creator(e),o=null==t?constantNull:"function"==typeof t?t:selector$h(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)}))}function remove(){var e=this.parentNode;e&&e.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_cloneDeep(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_clone(e){return this.select(e?selection_cloneDeep:selection_cloneShallow)}function selection_datum(e){return arguments.length?this.property("__data__",e):this.node().__data__}function contextListener(e){return function(t){e.call(this,t,this.__data__)}}function parseTypenames(e){return 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}}))}function onRemove(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 onAdd(e,t,n){return function(){var o,r=this.__on,i=contextListener(t);if(r)for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===e.type&&o.name===e.name)return this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),void(o.value=t);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 selection_on(e,t,n){var o,r,i=parseTypenames(e+""),s=i.length;if(!(arguments.length<2)){for(a=t?onAdd:onRemove,o=0;o<s;++o)this.each(a(i[o],t,n));return this}var a=this.node().__on;if(a)for(var l,c=0,u=a.length;c<u;++c)for(o=0,l=a[c];o<s;++o)if((r=i[o]).type===l.type&&r.name===l.name)return l.value}function dispatchEvent(e,t,n){var o=defaultView(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)}function dispatchConstant(e,t){return function(){return dispatchEvent(this,e,t)}}function dispatchFunction(e,t){return function(){return dispatchEvent(this,e,t.apply(this,arguments))}}function selection_dispatch(e,t){return this.each(("function"==typeof t?dispatchFunction:dispatchConstant)(e,t))}function*selection_iterator(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o,r=e[t],i=0,s=r.length;i<s;++i)(o=r[i])&&(yield o)}EnterNode.prototype={constructor:EnterNode,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)}},ClassList.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var root$2=[null];function Selection$1(e,t){this._groups=e,this._parents=t}function selection(){return new Selection$1([[document.documentElement]],root$2)}function selection_selection(){return this}function select(e){return"string"==typeof e?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],root$2)}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};var nextId=0;function Local(){this._="@"+(++nextId).toString(36)}function sourceEvent(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pointer(e,t){if(e=sourceEvent(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]}Local.prototype={constructor:Local,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};const nonpassive={passive:!1},nonpassivecapture={capture:!0,passive:!1};function nopropagation$1(e){e.stopImmediatePropagation()}function noevent$1(e){e.preventDefault(),e.stopImmediatePropagation()}function dragDisable(e){var t=e.document.documentElement,n=select(e).on("dragstart.drag",noevent$1,nonpassivecapture);"onselectstart"in t?n.on("selectstart.drag",noevent$1,nonpassivecapture):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function yesdrag(e,t){var n=e.document.documentElement,o=select(e).on("dragstart.drag",null);t&&(o.on("click.drag",noevent$1,nonpassivecapture),setTimeout((function(){o.on("click.drag",null)}),0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var constant$2=e=>()=>e;function DragEvent(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:a,dx:l,dy:c,dispatch:u}){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:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function defaultFilter$1(e){return!e.ctrlKey&&!e.button}function defaultContainer(){return this.parentNode}function defaultSubject(e,t){return null==t?{x:e.x,y:e.y}:t}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function drag(){var e,t,n,o,r=defaultFilter$1,i=defaultContainer,s=defaultSubject,a=defaultTouchable$1,l={},c=dispatch("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",p).filter(a).on("touchstart.drag",m).on("touchmove.drag",y,nonpassive).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(s,a){if(!o&&r.call(this,s,a)){var l=S(this,i.call(this,s,a),s,a,"mouse");l&&(select(s.view).on("mousemove.drag",g,nonpassivecapture).on("mouseup.drag",f,nonpassivecapture),dragDisable(s.view),nopropagation$1(s),n=!1,e=s.clientX,t=s.clientY,l("start",s))}}function g(o){if(noevent$1(o),!n){var r=o.clientX-e,i=o.clientY-t;n=r*r+i*i>d}l.mouse("drag",o)}function f(e){select(e.view).on("mousemove.drag mouseup.drag",null),yesdrag(e.view,n),noevent$1(e),l.mouse("end",e)}function m(e,t){if(r.call(this,e,t)){var n,o,s=e.changedTouches,a=i.call(this,e,t),l=s.length;for(n=0;n<l;++n)(o=S(this,a,e,t,s[n].identifier,s[n]))&&(nopropagation$1(e),o("start",e,s[n]))}}function y(e){var t,n,o=e.changedTouches,r=o.length;for(t=0;t<r;++t)(n=l[o[t].identifier])&&(noevent$1(e),n("drag",e,o[t]))}function x(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=l[r[t].identifier])&&(nopropagation$1(e),n("end",e,r[t]))}function S(e,t,n,o,r,i){var a,d,p,g=c.copy(),f=pointer(i||n,t);if(null!=(p=s.call(e,new DragEvent("beforestart",{sourceEvent:n,target:h,identifier:r,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:g}),o)))return a=p.x-f[0]||0,d=p.y-f[1]||0,function n(i,s,c){var m,y=f;switch(i){case"start":l[r]=n,m=u++;break;case"end":delete l[r],--u;case"drag":f=pointer(c||s,t),m=u}g.call(i,e,new DragEvent(i,{sourceEvent:s,subject:p,target:h,identifier:r,active:m,x:f[0]+a,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:g}),o)}}return h.filter=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(!!e),h):r},h.container=function(e){return arguments.length?(i="function"==typeof e?e:constant$2(e),h):i},h.subject=function(e){return arguments.length?(s="function"==typeof e?e:constant$2(e),h):s},h.touchable=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(!!e),h):a},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,h):Math.sqrt(d)},h}function define(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function extend(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function Color(){}DragEvent.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=reHex.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?rgbn(t):3===n?new Rgb(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?rgba(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?rgba(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=reRgbInteger.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=reRgbPercent.exec(e))?new Rgb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=reRgbaPercent.exec(e))?rgba(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):named.hasOwnProperty(e)?rgbn(named[e]):"transparent"===e?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,255&e,1)}function rgba(e,t,n,o){return o<=0&&(e=t=n=NaN),new Rgb(e,t,n,o)}function rgbConvert(e){return e instanceof Color||(e=color(e)),e?new Rgb((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb}function rgb(e,t,n,o){return 1===arguments.length?rgbConvert(e):new Rgb(e,t,n,null==o?1:o)}function Rgb(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb(){const e=clampa(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===e?")":`, ${e})`}`}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex(e){return((e=clampi(e))<16?"0":"")+e.toString(16)}function hsla(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,n,o)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(e instanceof Color||(e=color(e)),!e)return new Hsl;if(e instanceof Hsl)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),s=NaN,a=i-r,l=(i+r)/2;return a?(s=t===i?(n-o)/a+6*(n<o):n===i?(o-t)/a+2:(t-n)/a+4,a/=l<.5?i+r:2-i-r,s*=60):a=l>0&&l<1?0:s,new Hsl(s,a,l,e.opacity)}function hsl(e,t,n,o){return 1===arguments.length?hslConvert(e):new Hsl(e,t,n,null==o?1:o)}function Hsl(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}function clamph(e){return(e=(e||0)%360)<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}define(Color,color,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb}),define(Rgb,rgb,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(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:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb})),define(Hsl,hsl,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),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 Rgb(hsl2rgb(e>=240?e-240:e+120,r,o),hsl2rgb(e,r,o),hsl2rgb(e<120?e+240:e-120,r,o),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===e?")":`, ${e})`}`}}));const radians=Math.PI/180,degrees$1=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(e){if(e instanceof Lab)return new Lab(e.l,e.a,e.b,e.opacity);if(e instanceof Hcl)return hcl2lab(e);e instanceof Rgb||(e=rgbConvert(e));var t,n,o=rgb2lrgb(e.r),r=rgb2lrgb(e.g),i=rgb2lrgb(e.b),s=xyz2lab((.2225045*o+.7168786*r+.0606169*i)/Yn);return o===r&&r===i?t=n=s:(t=xyz2lab((.4360747*o+.3850649*r+.1430804*i)/Xn),n=xyz2lab((.0139322*o+.0971045*r+.7141733*i)/Zn)),new Lab(116*s-16,500*(t-s),200*(s-n),e.opacity)}function lab(e,t,n,o){return 1===arguments.length?labConvert(e):new Lab(e,t,n,null==o?1:o)}function Lab(e,t,n,o){this.l=+e,this.a=+t,this.b=+n,this.opacity=+o}function xyz2lab(e){return e>t3?Math.pow(e,1/3):e/t2+t0}function lab2xyz(e){return e>t1?e*e*e:t2*(e-t0)}function lrgb2rgb(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function rgb2lrgb(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function hclConvert(e){if(e instanceof Hcl)return new Hcl(e.h,e.c,e.l,e.opacity);if(e instanceof Lab||(e=labConvert(e)),0===e.a&&0===e.b)return new Hcl(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*degrees$1;return new Hcl(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function hcl(e,t,n,o){return 1===arguments.length?hclConvert(e):new Hcl(e,t,n,null==o?1:o)}function Hcl(e,t,n,o){this.h=+e,this.c=+t,this.l=+n,this.opacity=+o}function hcl2lab(e){if(isNaN(e.h))return new Lab(e.l,0,0,e.opacity);var t=e.h*radians;return new Lab(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}define(Lab,lab,extend(Color,{brighter(e){return new Lab(this.l+K*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Lab(this.l-K*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new Rgb(lrgb2rgb(3.1338561*(t=Xn*lab2xyz(t))-1.6168667*(e=Yn*lab2xyz(e))-.4906146*(n=Zn*lab2xyz(n))),lrgb2rgb(-.9787684*t+1.9161415*e+.033454*n),lrgb2rgb(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter(e){return new Hcl(this.h,this.c,this.l+K*(null==e?1:e),this.opacity)},darker(e){return new Hcl(this.h,this.c,this.l-K*(null==e?1:e),this.opacity)},rgb(){return hcl2lab(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(e){if(e instanceof Cubehelix)return new Cubehelix(e.h,e.s,e.l,e.opacity);e instanceof Rgb||(e=rgbConvert(e));var t=e.r/255,n=e.g/255,o=e.b/255,r=(BC_DA*o+ED*t-EB*n)/(BC_DA+ED-EB),i=o-r,s=(E*(n-r)-C*i)/D,a=Math.sqrt(s*s+i*i)/(E*r*(1-r)),l=a?Math.atan2(s,i)*degrees$1-120:NaN;return new Cubehelix(l<0?l+360:l,a,r,e.opacity)}function cubehelix$1(e,t,n,o){return 1===arguments.length?cubehelixConvert(e):new Cubehelix(e,t,n,null==o?1:o)}function Cubehelix(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}define(Cubehelix,cubehelix$1,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*radians,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),o=Math.cos(e),r=Math.sin(e);return new Rgb(255*(t+n*(A*o+B*r)),255*(t+n*(C*o+D*r)),255*(t+n*(E*o)),this.opacity)}}));var constant$1=e=>()=>e;function linear(e,t){return function(n){return e+n*t}}function exponential(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function hue(e,t){var n=t-e;return n?linear(e,n>180||n<-180?n-360*Math.round(n/360):n):constant$1(isNaN(e)?t:e)}function gamma(e){return 1==(e=+e)?nogamma:function(t,n){return n-t?exponential(t,n,e):constant$1(isNaN(t)?n:t)}}function nogamma(e,t){var n=t-e;return n?linear(e,n):constant$1(isNaN(e)?t:e)}var interpolateRgb=function e(t){var n=gamma(t);function o(e,t){var o=n((e=rgb(e)).r,(t=rgb(t)).r),r=n(e.g,t.g),i=n(e.b,t.b),s=nogamma(e.opacity,t.opacity);return function(t){return e.r=o(t),e.g=r(t),e.b=i(t),e.opacity=s(t),e+""}}return o.gamma=e,o}(1);function interpolateNumber(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(e){return function(){return e}}function one(e){return function(t){return e(t)+""}}function interpolateString(e,t){var n,o,r,i=reA.lastIndex=reB.lastIndex=0,s=-1,a=[],l=[];for(e+="",t+="";(n=reA.exec(e))&&(o=reB.exec(t));)(r=o.index)>i&&(r=t.slice(i,r),a[s]?a[s]+=r:a[++s]=r),(n=n[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,l.push({i:s,x:interpolateNumber(n,o)})),i=reB.lastIndex;return i<t.length&&(r=t.slice(i),a[s]?a[s]+=r:a[++s]=r),a.length<2?l[0]?one(l[0].x):zero(t):(t=l.length,function(e){for(var n,o=0;o<t;++o)a[(n=l[o]).i]=n.x(e);return a.join("")})}var degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},svgNode;function decompose(e,t,n,o,r,i){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*degrees,skewX:Math.atan(l)*degrees,scaleX:s,scaleY:a}}function parseCss(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?identity$1:decompose(t.a,t.b,t.c,t.d,t.e,t.f)}function parseSvg(e){return null==e?identity$1:(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",e),(e=svgNode.transform.baseVal.consolidate())?decompose((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):identity$1)}function interpolateTransform(e,t,n,o){function r(e){return e.length?e.pop()+" ":""}return function(i,s){var a=[],l=[];return i=e(i),s=e(s),function(e,o,r,i,s,a){if(e!==r||o!==i){var l=s.push("translate(",null,t,null,n);a.push({i:l-4,x:interpolateNumber(e,r)},{i:l-2,x:interpolateNumber(o,i)})}else(r||i)&&s.push("translate("+r+t+i+n)}(i.translateX,i.translateY,s.translateX,s.translateY,a,l),function(e,t,n,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:n.push(r(n)+"rotate(",null,o)-2,x:interpolateNumber(e,t)})):t&&n.push(r(n)+"rotate("+t+o)}(i.rotate,s.rotate,a,l),function(e,t,n,i){e!==t?i.push({i:n.push(r(n)+"skewX(",null,o)-2,x:interpolateNumber(e,t)}):t&&n.push(r(n)+"skewX("+t+o)}(i.skewX,s.skewX,a,l),function(e,t,n,o,i,s){if(e!==n||t!==o){var a=i.push(r(i)+"scale(",null,",",null,")");s.push({i:a-4,x:interpolateNumber(e,n)},{i:a-2,x:interpolateNumber(t,o)})}else 1===n&&1===o||i.push(r(i)+"scale("+n+","+o+")")}(i.scaleX,i.scaleY,s.scaleX,s.scaleY,a,l),i=s=null,function(e){for(var t,n=-1,o=l.length;++n<o;)a[(t=l[n]).i]=t.x(e);return a.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),epsilon2=1e-12;function cosh(e){return((e=Math.exp(e))+1/e)/2}function sinh(e){return((e=Math.exp(e))-1/e)/2}function tanh(e){return((e=Math.exp(2*e))-1)/(e+1)}var interpolateZoom=function e(t,n,o){function r(e,r){var i,s,a=e[0],l=e[1],c=e[2],u=r[0],d=r[1],h=r[2],p=u-a,g=d-l,f=p*p+g*g;if(f<epsilon2)s=Math.log(h/c)/t,i=function(e){return[a+e*p,l+e*g,c*Math.exp(t*e*s)]};else{var m=Math.sqrt(f),y=(h*h-c*c+o*f)/(2*c*n*m),x=(h*h-c*c-o*f)/(2*h*n*m),S=Math.log(Math.sqrt(y*y+1)-y),v=Math.log(Math.sqrt(x*x+1)-x);s=(v-S)/t,i=function(e){var o=e*s,r=cosh(S),i=c/(n*m)*(r*tanh(t*o+S)-sinh(S));return[a+i*p,l+i*g,c*r/cosh(t*o+S)]}}return i.duration=1e3*s*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);function cubehelix(e){return function t(n){function o(t,o){var r=e((t=cubehelix$1(t)).h,(o=cubehelix$1(o)).h),i=nogamma(t.s,o.s),s=nogamma(t.l,o.l),a=nogamma(t.opacity,o.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=s(Math.pow(e,n)),t.opacity=a(e),t+""}}return n=+n,o.gamma=t,o}(1)}cubehelix(hue),cubehelix(nogamma);var frame=0,timeout$1=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock="object"==typeof performance&&performance.now?performance:Date,setFrame="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}function timer(e,t,n){var o=new Timer;return o.restart(e,t,n),o}function timerFlush(){now(),++frame;for(var e,t=taskHead;t;)(e=clockNow-t._time)>=0&&t._call.call(void 0,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var e=clock.now(),t=e-clockLast;t>pokeDelay&&(clockSkew-=t,clockLast=e)}function nap(){for(var e,t,n=taskHead,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:taskHead=t);taskTail=e,sleep(o)}function sleep(e){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),e-clockNow>24?(e<1/0&&(timeout$1=setTimeout(wake,e-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake)))}function timeout(e,t,n){var o=new Timer;return t=null==t?0:+t,o.restart((n=>{o.stop(),e(n+t)}),t,n),o}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?now():+n)+(null==t?0:+t),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=e,this._time=n,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(e,t,n,o,r,i){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};create(e,n,{name:t,index:o,group:r,on:emptyOn,tween:emptyTween,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:CREATED})}function init(e,t){var n=get(e,t);if(n.state>CREATED)throw new Error("too late; already scheduled");return n}function set(e,t){var n=get(e,t);if(n.state>STARTED)throw new Error("too late; already running");return n}function get(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function create(e,t,n){var o,r=e.__transition;function i(l){var c,u,d,h;if(n.state!==SCHEDULED)return a();for(c in r)if((h=r[c]).name===n.name){if(h.state===STARTED)return timeout(i);h.state===RUNNING?(h.state=ENDED,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+c<t&&(h.state=ENDED,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[c])}if(timeout((function(){n.state===STARTED&&(n.state=RUNNING,n.timer.restart(s,n.delay,n.time),s(l))})),n.state=STARTING,n.on.call("start",e,e.__data__,n.index,n.group),n.state===STARTING){for(n.state=STARTED,o=new Array(d=n.tween.length),c=0,u=-1;c<d;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(o[++u]=h);o.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(a),n.state=ENDING,1),i=-1,s=o.length;++i<s;)o[i].call(e,r);n.state===ENDING&&(n.on.call("end",e,e.__data__,n.index,n.group),a())}function a(){for(var o in n.state=ENDED,n.timer.stop(),delete r[t],r)return;delete e.__transition}r[t]=n,n.timer=timer((function(e){n.state=SCHEDULED,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)}),0,n.time)}function interrupt(e,t){var n,o,r,i=e.__transition,s=!0;if(i){for(r in t=null==t?null:t+"",i)(n=i[r]).name===t?(o=n.state>STARTING&&n.state<ENDING,n.state=ENDED,n.timer.stop(),n.on.call(o?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[r]):s=!1;s&&delete e.__transition}}function selection_interrupt(e){return this.each((function(){interrupt(this,e)}))}function tweenRemove(e,t){var n,o;return function(){var r=set(this,e),i=r.tween;if(i!==n)for(var s=0,a=(o=n=i).length;s<a;++s)if(o[s].name===t){(o=o.slice()).splice(s,1);break}r.tween=o}}function tweenFunction(e,t,n){var o,r;if("function"!=typeof n)throw new Error;return function(){var i=set(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var a={name:t,value:n},l=0,c=r.length;l<c;++l)if(r[l].name===t){r[l]=a;break}l===c&&r.push(a)}i.tween=r}}function transition_tween(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o,r=get(this.node(),n).tween,i=0,s=r.length;i<s;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((null==t?tweenRemove:tweenFunction)(n,e,t))}function tweenValue(e,t,n){var o=e._id;return e.each((function(){var e=set(this,o);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return get(e,o).value[t]}}function interpolate(e,t){var n;return("number"==typeof t?interpolateNumber:t instanceof color?interpolateRgb:(n=color(t))?(t=n,interpolateRgb):interpolateString)(e,t)}function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(e,t,n){var o,r,i=n+"";return function(){var s=this.getAttribute(e);return s===i?null:s===o?r:r=t(o=s,n)}}function attrConstantNS(e,t,n){var o,r,i=n+"";return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===o?r:r=t(o=s,n)}}function attrFunction(e,t,n){var o,r,i;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttribute(e))===(a=l+"")?null:s===o&&a===r?i:(r=a,i=t(o=s,l));this.removeAttribute(e)}}function attrFunctionNS(e,t,n){var o,r,i;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttributeNS(e.space,e.local))===(a=l+"")?null:s===o&&a===r?i:(r=a,i=t(o=s,l));this.removeAttributeNS(e.space,e.local)}}function transition_attr(e,t){var n=namespace(e),o="transform"===n?interpolateTransformSvg:interpolate;return this.attrTween(e,"function"==typeof t?(n.local?attrFunctionNS:attrFunction)(n,o,tweenValue(this,"attr."+e,t)):null==t?(n.local?attrRemoveNS:attrRemove)(n):(n.local?attrConstantNS:attrConstant)(n,o,t))}function attrInterpolate(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function attrInterpolateNS(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function attrTweenNS(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&attrInterpolateNS(e,r)),n}return r._value=t,r}function attrTween(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&attrInterpolate(e,r)),n}return r._value=t,r}function transition_attrTween(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 new Error;var o=namespace(e);return this.tween(n,(o.local?attrTweenNS:attrTween)(o,t))}function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function transition_delay(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?delayFunction:delayConstant)(t,e)):get(this.node(),t).delay}function durationFunction(e,t){return function(){set(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set(this,e).duration=t}}function transition_duration(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?durationFunction:durationConstant)(t,e)):get(this.node(),t).duration}function easeConstant(e,t){if("function"!=typeof t)throw new Error;return function(){set(this,e).ease=t}}function transition_ease(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get(this.node(),t).ease}function easeVarying(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;set(this,e).ease=n}}function transition_easeVarying(e){if("function"!=typeof e)throw new Error;return this.each(easeVarying(this._id,e))}function transition_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,s=t[r],a=s.length,l=o[r]=[],c=0;c<a;++c)(i=s[c])&&e.call(i,i.__data__,c,s)&&l.push(i);return new Transition(o,this._parents,this._name,this._id)}function transition_merge(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),a=0;a<i;++a)for(var l,c=t[a],u=n[a],d=c.length,h=s[a]=new Array(d),p=0;p<d;++p)(l=c[p]||u[p])&&(h[p]=l);for(;a<o;++a)s[a]=t[a];return new Transition(s,this._parents,this._name,this._id)}function start(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}function onFunction(e,t,n){var o,r,i=start(t)?init:set;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function transition_on(e,t){var n=this._id;return arguments.length<2?get(this.node(),n).on.on(e):this.each(onFunction(n,e,t))}function removeFunction(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selector$h(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var a,l,c=o[s],u=c.length,d=i[s]=new Array(u),h=0;h<u;++h)(a=c[h])&&(l=e.call(a,a.__data__,h,c))&&("__data__"in a&&(l.__data__=a.__data__),d[h]=l,schedule(d[h],t,n,h,d,get(a,n)));return new Transition(i,this._parents,t,n)}function transition_selectAll(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selectorAll(e));for(var o=this._groups,r=o.length,i=[],s=[],a=0;a<r;++a)for(var l,c=o[a],u=c.length,d=0;d<u;++d)if(l=c[d]){for(var h,p=e.call(l,l.__data__,d,c),g=get(l,n),f=0,m=p.length;f<m;++f)(h=p[f])&&schedule(h,t,n,f,p,g);i.push(p),s.push(l)}return new Transition(i,s,t,n)}var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleNull(e,t){var n,o,r;return function(){var i=styleValue(this,e),s=(this.style.removeProperty(e),styleValue(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(e,t,n){var o,r,i=n+"";return function(){var s=styleValue(this,e);return s===i?null:s===o?r:r=t(o=s,n)}}function styleFunction(e,t,n){var o,r,i;return function(){var s=styleValue(this,e),a=n(this),l=a+"";return null==a&&(this.style.removeProperty(e),l=a=styleValue(this,e)),s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a))}}function styleMaybeRemove(e,t){var n,o,r,i,s="style."+t,a="end."+s;return function(){var l=set(this,e),c=l.on,u=null==l.value[s]?i||(i=styleRemove(t)):void 0;c===n&&r===u||(o=(n=c).copy()).on(a,r=u),l.on=o}}function transition_style(e,t,n){var o="transform"==(e+="")?interpolateTransformCss:interpolate;return null==t?this.styleTween(e,styleNull(e,o)).on("end.style."+e,styleRemove(e)):"function"==typeof t?this.styleTween(e,styleFunction(e,o,tweenValue(this,"style."+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,o,t),n).on("end.style."+e,null)}function styleInterpolate(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function styleTween(e,t,n){var o,r;function i(){var i=t.apply(this,arguments);return i!==r&&(o=(r=i)&&styleInterpolate(e,i,n)),o}return i._value=t,i}function transition_styleTween(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 new Error;return this.tween(o,styleTween(e,t,null==n?"":n))}function textConstant(e){return function(){this.textContent=e}}function textFunction(e){return function(){var t=e(this);this.textContent=null==t?"":t}}function transition_text(e){return this.tween("text","function"==typeof e?textFunction(tweenValue(this,"text",e)):textConstant(null==e?"":e+""))}function textInterpolate(e){return function(t){this.textContent=e.call(this,t)}}function textTween(e){var t,n;function o(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&textInterpolate(o)),t}return o._value=e,o}function transition_textTween(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 new Error;return this.tween(t,textTween(e))}function transition_transition(){for(var e=this._name,t=this._id,n=newId(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s,a=o[i],l=a.length,c=0;c<l;++c)if(s=a[c]){var u=get(s,t);schedule(s,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Transition(o,this._parents,e,n)}function transition_end(){var e,t,n=this,o=n._id,r=n.size();return new Promise((function(i,s){var a={value:s},l={value:function(){0==--r&&i()}};n.each((function(){var n=set(this,o),r=n.on;r!==e&&((t=(e=r).copy())._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),n.on=t})),0===r&&i()}))}var id=0;function Transition(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function newId(){return++id}var selection_prototype=selection.prototype;function cubicInOut(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,easeVarying:transition_easeVarying,end:transition_end,[Symbol.iterator]:selection_prototype[Symbol.iterator]};var exponent=3;function tpmt(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}!function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(exponent),function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(exponent),function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(exponent);var overshoot=1.70158;!function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(overshoot),function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(overshoot),function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(overshoot);var tau=2*Math.PI,amplitude=1,period=.3;!function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return t*tpmt(- --e)*Math.sin((o-e)/n)}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period),function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return 1-t*tpmt(e=+e)*Math.sin((e+o)/n)}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period),function e(t,n){var o=Math.asin(1/(t=Math.max(1,t)))*(n/=tau);function r(e){return((e=2*e-1)<0?t*tpmt(-e)*Math.sin((o-e)/n):2-t*tpmt(e)*Math.sin((o+e)/n))/2}return r.amplitude=function(t){return e(t,n*tau)},r.period=function(n){return e(t,n)},r}(amplitude,period);var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function selection_transition(e){var t,n;e instanceof Transition?(t=e._id,e=e._name):(t=newId(),(n=defaultTiming).time=now(),e=null==e?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s,a=o[i],l=a.length,c=0;c<l;++c)(s=a[c])&&schedule(s,e,t,c,a,n||inherit(s,t));return new Transition(o,this._parents,e,t)}selection.prototype.interrupt=selection_interrupt,selection.prototype.transition=selection_transition;var constant=e=>()=>e;function ZoomEvent(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 Transform(e,t,n){this.k=e,this.x=t,this.y=n}Transform.prototype={constructor:Transform,scale:function(e){return 1===e?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Transform(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 identity=new Transform(1,0,0);function nopropagation(e){e.stopImmediatePropagation()}function noevent(e){e.preventDefault(),e.stopImmediatePropagation()}function defaultFilter(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function defaultExtent(){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 defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(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],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function zoom(){var e,t,n,o=defaultFilter,r=defaultExtent,i=defaultConstrain,s=defaultWheelDelta,a=defaultTouchable,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=interpolateZoom,h=dispatch("start","zoom","end"),p=500,g=0,f=10;function m(e){e.property("__zoom",defaultTransform).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",C).filter(a).on("touchstart.zoom",N).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Transform(t,e.x,e.y)}function x(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 Transform(e.k,o,r)}function S(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,o){e.on("start.zoom",(function(){b(this,arguments).event(o).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(o).end()})).tween("zoom",(function(){var e=this,i=arguments,s=b(e,i).event(o),a=r.apply(e,i),l=null==n?S(a):"function"==typeof n?n.apply(e,i):n,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,i):t,p=d(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=p(e),n=c/t[2];e=new Transform(n,l[0]-t[0]*n,l[1]-t[1]*n)}s.zoom(null,e)}}))}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=r.apply(e,t),this.taps=0}function _(e,...t){if(o.apply(this,arguments)){var n=b(this,t).event(e),r=this.__zoom,a=Math.max(l[0],Math.min(l[1],r.k*Math.pow(2,s.apply(this,arguments)))),u=pointer(e);if(n.wheel)n.mouse[0][0]===u[0]&&n.mouse[0][1]===u[1]||(n.mouse[1]=r.invert(n.mouse[0]=u)),clearTimeout(n.wheel);else{if(r.k===a)return;n.mouse=[u,r.invert(u)],interrupt(this),n.start()}noevent(e),n.wheel=setTimeout(d,150),n.zoom("mouse",i(x(y(r,a),n.mouse[0],n.mouse[1]),n.extent,c))}function d(){n.wheel=null,n.end()}}function E(e,...t){if(!n&&o.apply(this,arguments)){var r=e.currentTarget,s=b(this,t,!0).event(e),a=select(e.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",p,!0),l=pointer(e,r),u=e.clientX,d=e.clientY;dragDisable(e.view),nopropagation(e),s.mouse=[l,this.__zoom.invert(l)],interrupt(this),s.start()}function h(e){if(noevent(e),!s.moved){var t=e.clientX-u,n=e.clientY-d;s.moved=t*t+n*n>g}s.event(e).zoom("mouse",i(x(s.that.__zoom,s.mouse[0]=pointer(e,r),s.mouse[1]),s.extent,c))}function p(e){a.on("mousemove.zoom mouseup.zoom",null),yesdrag(e.view,s.moved),noevent(e),s.event(e).end()}}function C(e,...t){if(o.apply(this,arguments)){var n=this.__zoom,s=pointer(e.changedTouches?e.changedTouches[0]:e,this),a=n.invert(s),l=n.k*(e.shiftKey?.5:2),d=i(x(y(n,l),s,a),r.apply(this,t),c);noevent(e),u>0?select(this).transition().duration(u).call(v,d,s,e):select(this).call(m.transform,d,s,e)}}function N(n,...r){if(o.apply(this,arguments)){var i,s,a,l,c=n.touches,u=c.length,d=b(this,r,n.changedTouches.length===u).event(n);for(nopropagation(n),s=0;s<u;++s)l=[l=pointer(a=c[s],this),this.__zoom.invert(l),a.identifier],d.touch0?d.touch1||d.touch0[2]===l[2]||(d.touch1=l,d.taps=0):(d.touch0=l,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=l[0],e=setTimeout((function(){e=null}),p)),interrupt(this),d.start())}}function $(e,...t){if(this.__zooming){var n,o,r,s,a=b(this,t).event(e),l=e.changedTouches,u=l.length;for(noevent(e),n=0;n<u;++n)r=pointer(o=l[n],this),a.touch0&&a.touch0[2]===o.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===o.identifier&&(a.touch1[0]=r);if(o=a.that.__zoom,a.touch1){var d=a.touch0[0],h=a.touch0[1],p=a.touch1[0],g=a.touch1[1],f=(f=p[0]-d[0])*f+(f=p[1]-d[1])*f,m=(m=g[0]-h[0])*m+(m=g[1]-h[1])*m;o=y(o,Math.sqrt(f/m)),r=[(d[0]+p[0])/2,(d[1]+p[1])/2],s=[(h[0]+g[0])/2,(h[1]+g[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],s=a.touch0[1]}a.zoom("touch",i(x(o,r,s),a.extent,c))}}function M(e,...o){if(this.__zooming){var r,i,s=b(this,o).event(e),a=e.changedTouches,l=a.length;for(nopropagation(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),p),r=0;r<l;++r)i=a[r],s.touch0&&s.touch0[2]===i.identifier?delete s.touch0:s.touch1&&s.touch1[2]===i.identifier&&delete s.touch1;if(s.touch1&&!s.touch0&&(s.touch0=s.touch1,delete s.touch1),s.touch0)s.touch0[1]=this.__zoom.invert(s.touch0[0]);else if(s.end(),2===s.taps&&(i=pointer(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<f)){var c=select(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return m.transform=function(e,t,n,o){var r=e.selection?e.selection():e;r.property("__zoom",defaultTransform),e!==r?v(e,t,n,o):r.interrupt().each((function(){b(this,arguments).event(o).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()}))},m.scaleBy=function(e,t,n,o){m.scaleTo(e,(function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n}),n,o)},m.scaleTo=function(e,t,n,o){m.transform(e,(function(){var e=r.apply(this,arguments),o=this.__zoom,s=null==n?S(e):"function"==typeof n?n.apply(this,arguments):n,a=o.invert(s),l="function"==typeof t?t.apply(this,arguments):t;return i(x(y(o,l),s,a),e,c)}),n,o)},m.translateBy=function(e,t,n,o){m.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),c)}),null,o)},m.translateTo=function(e,t,n,o,s){m.transform(e,(function(){var e=r.apply(this,arguments),s=this.__zoom,a=null==o?S(e):"function"==typeof o?o.apply(this,arguments):o;return i(identity.translate(a[0],a[1]).scale(s.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)}),o,s)},w.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=select(this.that).datum();h.call(e,this.that,new ZoomEvent(e,{sourceEvent:this.sourceEvent,target:m,type:e,transform:this.that.__zoom,dispatch:h}),t)}},m.wheelDelta=function(e){return arguments.length?(s="function"==typeof e?e:constant(+e),m):s},m.filter=function(e){return arguments.length?(o="function"==typeof e?e:constant(!!e),m):o},m.touchable=function(e){return arguments.length?(a="function"==typeof e?e:constant(!!e),m):a},m.extent=function(e){return arguments.length?(r="function"==typeof e?e:constant([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),m):r},m.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],m):[l[0],l[1]]},m.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],m):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},m.constrain=function(e){return arguments.length?(i=e,m):i},m.duration=function(e){return arguments.length?(u=+e,m):u},m.interpolate=function(e){return arguments.length?(d=e,m):d},m.on=function(){var e=h.on.apply(h,arguments);return e===h?m:e},m.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,m):Math.sqrt(g)},m.tapDistance=function(e){return arguments.length?(f=+e,m):f},m}Transform.prototype;const StoreContext=require$$0.createContext(null),Provider$1=StoreContext.Provider,errorMessages={"001":()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001","002":()=>"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.","003":e=>`Node type "${e}" not found. Using fallback type "default".`,"004":()=>"The React Flow parent container needs a width and a height to render the graph.","005":()=>"Only child nodes can use a parent extent.","006":()=>"Can't create edge. An edge needs a source and a target.","007":e=>`The old edge with id=${e} does not exist.`,"009":e=>`Marker type "${e}" doesn't exist.`,"008":(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,"010":()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.","011":e=>`Edge type "${e}" not found. Using fallback type "default".`},zustandErrorMessage=errorMessages["001"]();function useStore(e,t){const n=require$$0.useContext(StoreContext);if(null===n)throw new Error(zustandErrorMessage);return useStore$1(n,e,t)}const useStoreApi=()=>{const e=require$$0.useContext(StoreContext);if(null===e)throw new Error(zustandErrorMessage);return require$$0.useMemo((()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy})),[e])},selector$g=e=>e.userSelectionActive?"none":"all";function Panel({position:e,children:t,className:n,style:o,...r}){const i=useStore(selector$g),s=`${e}`.split("-");return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__panel",n,...s]),style:{...o,pointerEvents:i},...r,children:t})}function Attribution({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:jsxRuntime.exports.jsx(Panel,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:jsxRuntime.exports.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const EdgeText=({x:e,y:t,label:n,labelStyle:o={},labelShowBg:r=!0,labelBgStyle:i={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:c,...u})=>{const d=require$$0.useRef(null),[h,p]=require$$0.useState({x:0,y:0,width:0,height:0}),g=cc(["react-flow__edge-textwrapper",c]);return require$$0.useEffect((()=>{if(d.current){const e=d.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}}),[n]),void 0!==n&&n?jsxRuntime.exports.jsxs("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:g,visibility:h.width?"visible":"hidden",...u,children:[r&&jsxRuntime.exports.jsx("rect",{width:h.width+2*s[0],x:-s[0],y:-s[1],height:h.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),jsxRuntime.exports.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:d,style:o,children:n}),l]}):null};var EdgeText$1=require$$0.memo(EdgeText);const getDimensions=e=>({width:e.offsetWidth,height:e.offsetHeight}),clamp=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),clampPosition=(e={x:0,y:0},t)=>({x:clamp(e.x,t[0][0],t[1][0]),y:clamp(e.y,t[0][1],t[1][1])}),calcAutoPanVelocity=(e,t,n)=>e<t?clamp(Math.abs(e-t),1,50)/50:e>n?-clamp(Math.abs(e-n),1,50)/50:0,calcAutoPan=(e,t)=>[20*calcAutoPanVelocity(e.x,35,t.width-35),20*calcAutoPanVelocity(e.y,35,t.height-35)],getHostForElement=e=>e.getRootNode?.()||window?.document,getBoundsOfBoxes=(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)}),rectToBox=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),boxToRect=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),nodeToRect=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),getBoundsOfRects=(e,t)=>boxToRect(getBoundsOfBoxes(rectToBox(e),rectToBox(t))),getOverlappingArea=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},isRectObject=e=>isNumeric(e.width)&&isNumeric(e.height)&&isNumeric(e.x)&&isNumeric(e.y),isNumeric=e=>!isNaN(e)&&isFinite(e),internalsSymbol=Symbol.for("internals"),elementSelectionKeys=["Enter"," ","Escape"],devWarn=(e,t)=>{},isReactKeyboardEvent=e=>"nativeEvent"in e;function isInputDOMNode(e){const t=(isReactKeyboardEvent(e)?e.nativeEvent:e).composedPath?.()?.[0]||e.target,n=["INPUT","SELECT","TEXTAREA"].includes(t?.nodeName)||t?.hasAttribute("contenteditable"),o=e.ctrlKey||e.metaKey||e.shiftKey;return n&&!o||!!t?.closest(".nokey")}const isMouseEvent=e=>"clientX"in e,getEventPosition=(e,t)=>{const n=isMouseEvent(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)}},BaseEdge=({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:l,style:c,markerEnd:u,markerStart:d,interactionWidth:h=20})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx("path",{style:c,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:u,markerStart:d}),h&&jsxRuntime.exports.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),o&&isNumeric(t)&&isNumeric(n)?jsxRuntime.exports.jsx(EdgeText$1,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:l}):null]});function getMouseHandler$1(e,t,n){return void 0===n?n:o=>{const r=t().edges.find((t=>t.id===e));r&&n(o,{...r})}}function getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o}){const r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2;return[i,o<t?o+s:o-s,r,s]}function getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:a}){const l=.125*e+.375*r+.375*s+.125*n,c=.125*t+.375*i+.375*a+.125*o;return[l,c,Math.abs(l-e),Math.abs(c-t)]}var ConnectionMode,PanOnScrollMode,SelectionMode,ConnectionLineType,MarkerType,Position;function getControl({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===Position.Left||e===Position.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top}){const[s,a]=getControl({pos:n,x1:e,y1:t,x2:o,y2:r}),[l,c]=getControl({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,d,h,p]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:c});return[`M${e},${t} C${s},${a} ${l},${c} ${o},${r}`,u,d,h,p]}BaseEdge.displayName="BaseEdge",function(e){e.Strict="strict",e.Loose="loose"}(ConnectionMode||(ConnectionMode={})),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(PanOnScrollMode||(PanOnScrollMode={})),function(e){e.Partial="partial",e.Full="full"}(SelectionMode||(SelectionMode={})),function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(ConnectionLineType||(ConnectionLineType={})),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(MarkerType||(MarkerType={})),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(Position||(Position={}));const SimpleBezierEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:f})=>{const[m,y,x]=getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i});return jsxRuntime.exports.jsx(BaseEdge,{path:m,labelX:y,labelY:x,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:f})}));SimpleBezierEdge.displayName="SimpleBezierEdge";const handleDirections={[Position.Left]:{x:-1,y:0},[Position.Right]:{x:1,y:0},[Position.Top]:{x:0,y:-1},[Position.Bottom]:{x:0,y:1}},getDirection=({source:e,sourcePosition:t=Position.Bottom,target:n})=>t===Position.Left||t===Position.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},distance=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function getPoints({source:e,sourcePosition:t=Position.Bottom,target:n,targetPosition:o=Position.Top,center:r,offset:i}){const s=handleDirections[t],a=handleDirections[o],l={x:e.x+s.x*i,y:e.y+s.y*i},c={x:n.x+a.x*i,y:n.y+a.y*i},u=getDirection({source:l,sourcePosition:t,target:c}),d=0!==u.x?"x":"y",h=u[d];let p,g,f=[];const[m,y,x,S]=getEdgeCenter({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]==-1){p=r.x||m,g=r.y||y;const e=[{x:p,y:l.y},{x:p,y:c.y}],t=[{x:l.x,y:g},{x:c.x,y:g}];f=s[d]===h?"x"===d?e:t:"x"===d?t:e}else{const e=[{x:l.x,y:c.y}],n=[{x:c.x,y:l.y}];if(f="x"===d?s.x===h?n:e:s.y===h?e:n,t!==o){const t="x"===d?"y":"x",o=s[d]===a[t],r=l[t]>c[t],i=l[t]<c[t];(1===s[d]&&(!o&&r||o&&i)||1!==s[d]&&(!o&&i||o&&r))&&(f="x"===d?e:n)}p=f[0].x,g=f[0].y}return[[e,l,...f,c,n],p,g,x,S]}function getBend(e,t,n,o){const r=Math.min(distance(e,t)/2,distance(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){return`L ${i+r*(e.x<n.x?-1:1)},${s}Q ${i},${s} ${i},${s+r*(e.y<n.y?1:-1)}`}const a=e.x<n.x?1:-1;return`L ${i},${s+r*(e.y<n.y?-1:1)}Q ${i},${s} ${i+r*a},${s}`}function getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,borderRadius:s=5,centerX:a,centerY:l,offset:c=20}){const[u,d,h,p,g]=getPoints({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:a,y:l},offset:c});return[u.reduce(((e,t,n)=>{let o="";return o=n>0&&n<u.length-1?getBend(u[n-1],t,u[n+1],s):`${0===n?"M":"L"}${t.x} ${t.y}`,e+=o}),""),d,h,p,g]}const SmoothStepEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:d=Position.Bottom,targetPosition:h=Position.Top,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:m})=>{const[y,x,S]=getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:o,targetPosition:h,borderRadius:f?.borderRadius,offset:f?.offset});return jsxRuntime.exports.jsx(BaseEdge,{path:y,labelX:x,labelY:S,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:p,markerStart:g,interactionWidth:m})}));SmoothStepEdge.displayName="SmoothStepEdge";const StepEdge=require$$0.memo((e=>jsxRuntime.exports.jsx(SmoothStepEdge,{...e,pathOptions:require$$0.useMemo((()=>({borderRadius:0,offset:e.pathOptions?.offset})),[e.pathOptions?.offset])})));function getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[r,i,s,a]=getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}StepEdge.displayName="StepEdge";const StraightEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:h,interactionWidth:p})=>{const[g,f,m]=getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o});return jsxRuntime.exports.jsx(BaseEdge,{path:g,labelX:f,labelY:m,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:h,interactionWidth:p})}));function calculateControlOffset(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function getControlWithCurvature({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Position.Left:return[t-calculateControlOffset(t-o,i),n];case Position.Right:return[t+calculateControlOffset(o-t,i),n];case Position.Top:return[t,n-calculateControlOffset(n-r,i)];case Position.Bottom:return[t,n+calculateControlOffset(r-n,i)]}}function getBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,curvature:s=.25}){const[a,l]=getControlWithCurvature({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[c,u]=getControlWithCurvature({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[d,h,p,g]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${o},${r}`,d,h,p,g]}StraightEdge.displayName="StraightEdge";const BezierEdge=require$$0.memo((({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:m})=>{const[y,x,S]=getBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i,curvature:f?.curvature});return jsxRuntime.exports.jsx(BaseEdge,{path:y,labelX:x,labelY:S,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:g,interactionWidth:m})}));BezierEdge.displayName="BezierEdge";const NodeIdContext=require$$0.createContext(null),Provider=NodeIdContext.Provider;NodeIdContext.Consumer;const useNodeId=()=>require$$0.useContext(NodeIdContext),isEdge=e=>"id"in e&&"source"in e&&"target"in e,getEdgeId=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`reactflow__edge-${e}${t||""}-${n}${o||""}`,getMarkerId=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;return`${t?`${t}__`:""}${Object.keys(e).sort().map((t=>`${t}=${e[t]}`)).join("&")}`},connectionExists=(e,t)=>t.some((t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle)))),addEdge=(e,t)=>{if(!e.source||!e.target)return t;let n;return n=isEdge(e)?{...e}:{...e,id:getEdgeId(e)},connectionExists(n,t)?t:t.concat(n)},pointToRendererPoint=({x:e,y:t},[n,o,r],i,[s,a])=>{const l={x:(e-n)/r,y:(t-o)/r};return i?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},rendererPointToPoint=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o}),getNodePositionWithOrigin=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],o=(e.height??0)*t[1],r={x:e.position.x-n,y:e.position.y-o};return{...r,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-o}:r}},getRectOfNodes=(e,t=[0,0])=>{if(0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce(((e,n)=>{const{x:o,y:r}=getNodePositionWithOrigin(n,t).positionAbsolute;return getBoundsOfBoxes(e,rectToBox({x:o,y:r,width:n.width||0,height:n.height||0}))}),{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return boxToRect(n)},getNodesInside=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/r,y:(t.y-o)/r,width:t.width/r,height:t.height/r},c=[];return e.forEach((e=>{const{width:t,height:n,selectable:o=!0,hidden:r=!1}=e;if(s&&!o||r)return!1;const{positionAbsolute:u}=getNodePositionWithOrigin(e,a),d={x:u.x,y:u.y,width:t||0,height:n||0},h=getOverlappingArea(l,d);(void 0===t||void 0===n||null===t||null===n||i&&h>0||h>=(t||0)*(n||0)||e.dragging)&&c.push(e)})),c},getConnectedEdges=(e,t)=>{const n=e.map((e=>e.id));return t.filter((e=>n.includes(e.source)||n.includes(e.target)))},getTransformForBounds=(e,t,n,o,r,i=.1)=>{const s=t/(e.width*(1+i)),a=n/(e.height*(1+i)),l=Math.min(s,a),c=clamp(l,o,r);return[t/2-(e.x+e.width/2)*c,n/2-(e.y+e.height/2)*c,c]},getD3Transition=(e,t=0)=>e.transition().duration(t);function getHandles(e,t,n,o){return(t[n]||[]).reduce(((t,r)=>(`${e.id}-${r.id}-${n}`!==o&&t.push({id:r.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+r.x+r.width/2,y:(e.positionAbsolute?.y??0)+r.y+r.height/2}),t)),[])}function getClosestHandle(e,t,n){let o=null,r=1/0;return n.forEach((n=>{const i=Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));i<=t&&i<r&&(r=i,o=n)})),o}const nullConnection={source:null,target:null,sourceHandle:null,targetHandle:null};function isValidHandle(e,t,n,o,r,i,s,a){const l="target"===i,c=a.querySelector(`.react-flow__handle[data-id="${t?.nodeId}-${t?.id}-${t?.type}"]`),{x:u,y:d}=getEventPosition(e),h=a.elementFromPoint(u,d),p=h?.classList.contains("react-flow__handle")?h:c,g={handleDomNode:p,isValid:!1,connection:nullConnection};if(p){const e=getHandleType(void 0,p),t=p.getAttribute("data-nodeid"),i=p.getAttribute("data-handleid"),a={source:l?t:o,sourceHandle:l?i:r,target:l?o:t,targetHandle:l?r:i};g.connection=a;(n===ConnectionMode.Strict?l&&"source"===e||!l&&"target"===e:t!==o||i!==r)&&(g.isValid=s(a))}return g}function getHandleLookup({nodes:e,nodeId:t,handleId:n,handleType:o}){return e.reduce(((e,r)=>{if(r[internalsSymbol]){const{handleBounds:i}=r[internalsSymbol];let s=[],a=[];i&&(s=getHandles(r,i,"source",`${t}-${n}-${o}`),a=getHandles(r,i,"target",`${t}-${n}-${o}`)),e.push(...s,...a)}return e}),[])}function getHandleType(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function resetRecentHandle(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function getConnectionStatus(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function handlePointerDown({event:e,handleId:t,nodeId:n,onConnect:o,isTarget:r,getState:i,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:c}){const u=getHostForElement(e.target),{connectionMode:d,domNode:h,autoPanOnConnect:p,connectionRadius:g,onConnectStart:f,panBy:m,getNodes:y,cancelConnection:x}=i();let S,v=0;const{x:b,y:w}=getEventPosition(e),_=u?.elementFromPoint(b,w),E=getHandleType(l,_),C=h?.getBoundingClientRect();if(!C||!E)return;let N,$=getEventPosition(e,C),M=!1,R=null,P=!1,k=null;const A=getHandleLookup({nodes:y(),nodeId:n,handleId:t,handleType:E}),D=()=>{if(!p)return;const[e,t]=calcAutoPan($,C);m({x:e,y:t}),v=requestAnimationFrame(D)};function I(e){const{transform:o}=i();$=getEventPosition(e,C),S=getClosestHandle(pointToRendererPoint($,o,!1,[1,1]),g,A),M||(D(),M=!0);const l=isValidHandle(e,S,d,n,t,r?"target":"source",a,u);if(k=l.handleDomNode,R=l.connection,P=l.isValid,s({connectionPosition:S&&P?rendererPointToPoint({x:S.x,y:S.y},o):$,connectionStatus:getConnectionStatus(!!S,P)}),!S&&!P&&!k)return resetRecentHandle(N);R.source!==R.target&&k&&(resetRecentHandle(N),N=k,k.classList.add("connecting","react-flow__handle-connecting"),k.classList.toggle("valid",P),k.classList.toggle("react-flow__handle-valid",P))}function j(e){(S||k)&&R&&P&&o?.(R),i().onConnectEnd?.(e),l&&c?.(e),resetRecentHandle(N),x(),cancelAnimationFrame(v),M=!1,P=!1,R=null,k=null,u.removeEventListener("mousemove",I),u.removeEventListener("mouseup",j),u.removeEventListener("touchmove",I),u.removeEventListener("touchend",j)}s({connectionPosition:$,connectionNodeId:n,connectionHandleId:t,connectionHandleType:E,connectionStatus:null}),f?.(e,{nodeId:n,handleId:t,handleType:E}),u.addEventListener("mousemove",I),u.addEventListener("mouseup",j),u.addEventListener("touchmove",I),u.addEventListener("touchend",j)}const alwaysValid=()=>!0,selector$f=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Handle=require$$0.forwardRef((({type:e="source",position:t=Position.Top,isValidConnection:n=alwaysValid,isConnectable:o=!0,id:r,onConnect:i,children:s,className:a,onMouseDown:l,onTouchStart:c,...u},d)=>{const h=useStoreApi(),p=useNodeId();if(!p)return h.getState().onError?.("010",errorMessages["010"]()),null;const{connectionStartHandle:g,connectOnClick:f,noPanClassName:m}=useStore(selector$f,shallow),y=r||null,x="target"===e,S=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=h.getState(),r={...t,...e};if(o){const{edges:e}=h.getState();h.setState({edges:addEdge(r,e)})}n?.(r),i?.(r)},v=e=>{const t=isMouseEvent(e);(t&&0===e.button||!t)&&handlePointerDown({event:e,handleId:y,nodeId:p,onConnect:S,isTarget:x,getState:h.getState,setState:h.setState,isValidConnection:n}),t?l?.(e):c?.(e)};return jsxRuntime.exports.jsx("div",{"data-handleid":y,"data-nodeid":p,"data-handlepos":t,"data-id":`${p}-${y}-${e}`,className:cc(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",m,a,{source:!x,target:x,connectable:o,connecting:g?.nodeId===p&&g?.handleId===y&&g?.type===e}]),onMouseDown:v,onTouchStart:v,onClick:f?t=>{const{onClickConnectStart:o,onClickConnectEnd:r,connectionMode:i}=h.getState();if(!g)return o?.(t,{nodeId:p,handleId:y,handleType:e}),void h.setState({connectionStartHandle:{nodeId:p,type:e,handleId:y}});const s=getHostForElement(t.target),{connection:a,isValid:l}=isValidHandle(t,{nodeId:p,id:y,type:e},i,g.nodeId,g.handleId||null,g.type,n,s);l&&S(a),r?.(t),h.setState({connectionStartHandle:null})}:void 0,ref:d,...u,children:s})}));Handle.displayName="Handle";var Handle$1=require$$0.memo(Handle);const DefaultNode=({data:e,isConnectable:t,targetPosition:n=Position.Top,sourcePosition:o=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:o,isConnectable:t})]});DefaultNode.displayName="DefaultNode";var DefaultNode$1=require$$0.memo(DefaultNode);const InputNode=({data:e,isConnectable:t,sourcePosition:n=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:n,isConnectable:t})]});InputNode.displayName="InputNode";var InputNode$1=require$$0.memo(InputNode);const OutputNode=({data:e,isConnectable:t,targetPosition:n=Position.Top})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label]});OutputNode.displayName="OutputNode";var OutputNode$1=require$$0.memo(OutputNode);const GroupNode=()=>null;GroupNode.displayName="GroupNode";const selector$e=e=>({selectedNodes:e.getNodes().filter((e=>e.selected)),selectedEdges:e.edges.filter((e=>e.selected))}),selectId=e=>e.id;function areEqual(e,t){return shallow(e.selectedNodes.map(selectId),t.selectedNodes.map(selectId))&&shallow(e.selectedEdges.map(selectId),t.selectedEdges.map(selectId))}const SelectionListener=require$$0.memo((({onSelectionChange:e})=>{const t=useStoreApi(),{selectedNodes:n,selectedEdges:o}=useStore(selector$e,areEqual);return require$$0.useEffect((()=>{const r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChange?.(r)}),[n,o,e]),null}));SelectionListener.displayName="SelectionListener";const changeSelector=e=>!!e.onSelectionChange;function Wrapper$1({onSelectionChange:e}){const t=useStore(changeSelector);return e||t?jsxRuntime.exports.jsx(SelectionListener,{onSelectionChange:e}):null}const selector$d=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function useStoreUpdater(e,t){require$$0.useEffect((()=>{void 0!==e&&t(e)}),[e])}function useDirectStoreUpdater(e,t,n){require$$0.useEffect((()=>{void 0!==t&&n({[e]:t})}),[t])}const StoreUpdater=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:r,onConnectStart:i,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:d,edgesFocusable:h,elevateNodesOnSelect:p,minZoom:g,maxZoom:f,nodeExtent:m,onNodesChange:y,onEdgesChange:x,elementsSelectable:S,connectionMode:v,snapGrid:b,snapToGrid:w,translateExtent:_,connectOnClick:E,defaultEdgeOptions:C,fitView:N,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:R,onNodeDrag:P,onNodeDragStart:k,onNodeDragStop:A,onSelectionDrag:D,onSelectionDragStart:I,onSelectionDragStop:j,noPanClassName:O,nodeOrigin:T,rfId:B,autoPanOnConnect:z,autoPanOnNodeDrag:H,onError:L,connectionRadius:q})=>{const{setNodes:F,setEdges:V,setDefaultNodesAndEdges:U,setMinZoom:Y,setMaxZoom:X,setTranslateExtent:K,setNodeExtent:W,reset:Z}=useStore(selector$d,shallow),G=useStoreApi();return require$$0.useEffect((()=>{const e=o?.map((e=>({...e,...C})));return U(n,e),()=>{Z()}}),[]),useDirectStoreUpdater("defaultEdgeOptions",C,G.setState),useDirectStoreUpdater("connectionMode",v,G.setState),useDirectStoreUpdater("onConnect",r,G.setState),useDirectStoreUpdater("onConnectStart",i,G.setState),useDirectStoreUpdater("onConnectEnd",s,G.setState),useDirectStoreUpdater("onClickConnectStart",a,G.setState),useDirectStoreUpdater("onClickConnectEnd",l,G.setState),useDirectStoreUpdater("nodesDraggable",c,G.setState),useDirectStoreUpdater("nodesConnectable",u,G.setState),useDirectStoreUpdater("nodesFocusable",d,G.setState),useDirectStoreUpdater("edgesFocusable",h,G.setState),useDirectStoreUpdater("elementsSelectable",S,G.setState),useDirectStoreUpdater("elevateNodesOnSelect",p,G.setState),useDirectStoreUpdater("snapToGrid",w,G.setState),useDirectStoreUpdater("snapGrid",b,G.setState),useDirectStoreUpdater("onNodesChange",y,G.setState),useDirectStoreUpdater("onEdgesChange",x,G.setState),useDirectStoreUpdater("connectOnClick",E,G.setState),useDirectStoreUpdater("fitViewOnInit",N,G.setState),useDirectStoreUpdater("fitViewOnInitOptions",$,G.setState),useDirectStoreUpdater("onNodesDelete",M,G.setState),useDirectStoreUpdater("onEdgesDelete",R,G.setState),useDirectStoreUpdater("onNodeDrag",P,G.setState),useDirectStoreUpdater("onNodeDragStart",k,G.setState),useDirectStoreUpdater("onNodeDragStop",A,G.setState),useDirectStoreUpdater("onSelectionDrag",D,G.setState),useDirectStoreUpdater("onSelectionDragStart",I,G.setState),useDirectStoreUpdater("onSelectionDragStop",j,G.setState),useDirectStoreUpdater("noPanClassName",O,G.setState),useDirectStoreUpdater("nodeOrigin",T,G.setState),useDirectStoreUpdater("rfId",B,G.setState),useDirectStoreUpdater("autoPanOnConnect",z,G.setState),useDirectStoreUpdater("autoPanOnNodeDrag",H,G.setState),useDirectStoreUpdater("onError",L,G.setState),useDirectStoreUpdater("connectionRadius",q,G.setState),useStoreUpdater(e,F),useStoreUpdater(t,V),useStoreUpdater(g,Y),useStoreUpdater(f,X),useStoreUpdater(_,K),useStoreUpdater(m,W),null},style={display:"none"},ariaLiveStyle={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ARIA_NODE_DESC_KEY="react-flow__node-desc",ARIA_EDGE_DESC_KEY="react-flow__edge-desc",ARIA_LIVE_MESSAGE="react-flow__aria-live",selector$c=e=>e.ariaLiveMessage;function AriaLiveMessage({rfId:e}){const t=useStore(selector$c);return jsxRuntime.exports.jsx("div",{id:`${ARIA_LIVE_MESSAGE}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ariaLiveStyle,children:t})}function A11yDescriptions({rfId:e,disableKeyboardA11y:t}){return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsxs("div",{id:`${ARIA_NODE_DESC_KEY}-${e}`,style:style,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),jsxRuntime.exports.jsx("div",{id:`${ARIA_EDGE_DESC_KEY}-${e}`,style:style,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&jsxRuntime.exports.jsx(AriaLiveMessage,{rfId:e})]})}const shiftX=(e,t,n)=>n===Position.Left?e-t:n===Position.Right?e+t:e,shiftY=(e,t,n)=>n===Position.Top?e-t:n===Position.Bottom?e+t:e,EdgeUpdaterClassName="react-flow__edgeupdater",EdgeAnchor=({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:s,type:a})=>jsxRuntime.exports.jsx("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:s,className:cc([EdgeUpdaterClassName,`${EdgeUpdaterClassName}-${a}`]),cx:shiftX(t,o,e),cy:shiftY(n,o,e),r:o,stroke:"transparent",fill:"transparent"});var wrapEdge=e=>{const t=({id:t,className:n,type:o,data:r,onClick:i,onEdgeDoubleClick:s,selected:a,animated:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:g,style:f,source:m,target:y,sourceX:x,sourceY:S,targetX:v,targetY:b,sourcePosition:w,targetPosition:_,elementsSelectable:E,hidden:C,sourceHandleId:N,targetHandleId:$,onContextMenu:M,onMouseEnter:R,onMouseMove:P,onMouseLeave:k,edgeUpdaterRadius:A,onEdgeUpdate:D,onEdgeUpdateStart:I,onEdgeUpdateEnd:j,markerEnd:O,markerStart:T,rfId:B,ariaLabel:z,isFocusable:H,pathOptions:L,interactionWidth:q})=>{const F=require$$0.useRef(null),[V,U]=require$$0.useState(!1),[Y,X]=require$$0.useState(!1),K=useStoreApi(),W=require$$0.useMemo((()=>`url(#${getMarkerId(T,B)})`),[T,B]),Z=require$$0.useMemo((()=>`url(#${getMarkerId(O,B)})`),[O,B]);if(C)return null;const G=getMouseHandler$1(t,K.getState,s),J=getMouseHandler$1(t,K.getState,M),Q=getMouseHandler$1(t,K.getState,R),ee=getMouseHandler$1(t,K.getState,P),te=getMouseHandler$1(t,K.getState,k),ne=(e,n)=>{if(0!==e.button)return;const o=n?y:m,r=(n?$:N)||null,i=n?"target":"source",s=n,a=K.getState().edges.find((e=>e.id===t));X(!0),I?.(e,a,i);handlePointerDown({event:e,handleId:r,nodeId:o,onConnect:e=>D?.(a,e),isTarget:s,getState:K.getState,setState:K.setState,isValidConnection:()=>!0,edgeUpdaterType:i,onEdgeUpdateEnd:e=>{X(!1),j?.(e,a,i)}})},oe=()=>U(!0),re=()=>U(!1),ie=!E&&!i,se=void 0!==D;return jsxRuntime.exports.jsxs("g",{className:cc(["react-flow__edge",`react-flow__edge-${o}`,n,{selected:a,animated:l,inactive:ie,updating:V}]),onClick:e=>{const{edges:n,addSelectedEdges:o}=K.getState();if(E&&(K.setState({nodesSelectionActive:!1}),o([t])),i){const o=n.find((e=>e.id===t));i(e,o)}},onDoubleClick:G,onContextMenu:J,onMouseEnter:Q,onMouseMove:ee,onMouseLeave:te,onKeyDown:H?e=>{if(elementSelectionKeys.includes(e.key)&&E){const{unselectNodesAndEdges:n,addSelectedEdges:o,edges:r}=K.getState();"Escape"===e.key?(F.current?.blur(),n({edges:[r.find((e=>e.id===t))]})):o([t])}}:void 0,tabIndex:H?0:void 0,role:H?"button":void 0,"data-testid":`rf__edge-${t}`,"aria-label":null===z?void 0:z||`Edge from ${m} to ${y}`,"aria-describedby":H?`${ARIA_EDGE_DESC_KEY}-${B}`:void 0,ref:F,children:[!Y&&jsxRuntime.exports.jsx(e,{id:t,source:m,target:y,selected:a,animated:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:g,data:r,style:f,sourceX:x,sourceY:S,targetX:v,targetY:b,sourcePosition:w,targetPosition:_,sourceHandleId:N,targetHandleId:$,markerStart:W,markerEnd:Z,pathOptions:L,interactionWidth:q}),se&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(EdgeAnchor,{position:w,centerX:x,centerY:S,radius:A,onMouseDown:e=>ne(e,!0),onMouseEnter:oe,onMouseOut:re,type:"source"}),jsxRuntime.exports.jsx(EdgeAnchor,{position:_,centerX:v,centerY:b,radius:A,onMouseDown:e=>ne(e,!1),onMouseEnter:oe,onMouseOut:re,type:"target"})]})]})};return t.displayName="EdgeWrapper",require$$0.memo(t)};function createEdgeTypes(e){return{...{default:wrapEdge(e.default||BezierEdge),straight:wrapEdge(e.bezier||StraightEdge),step:wrapEdge(e.step||StepEdge),smoothstep:wrapEdge(e.step||SmoothStepEdge),simplebezier:wrapEdge(e.simplebezier||SimpleBezierEdge)},...Object.keys(e).filter((e=>!["default","bezier"].includes(e))).reduce(((t,n)=>(t[n]=wrapEdge(e[n]||BezierEdge),t)),{})}}function getHandlePosition(e,t,n=null){const o=(n?.x||0)+t.x,r=(n?.y||0)+t.y,i=n?.width||t.width,s=n?.height||t.height;switch(e){case Position.Top:return{x:o+i/2,y:r};case Position.Right:return{x:o+i,y:r+s/2};case Position.Bottom:return{x:o+i/2,y:r+s};case Position.Left:return{x:o,y:r+s/2}}}function getHandle(e,t){return e?t?e.find((e=>e.id===t)):1===e.length?e[0]:null:null}const getEdgePositions=(e,t,n,o,r,i)=>{const s=getHandlePosition(n,e,t),a=getHandlePosition(i,o,r);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function isEdgeVisible({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:r,targetHeight:i,width:s,height:a,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+r),y2:Math.max(e.y+o,t.y+i)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=rectToBox({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(d*h)>0}function getNodeData(e){const t=e?.[internalsSymbol]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}function isParentSelected(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return!!n&&(!!n.selected||isParentSelected(n,t))}function hasSelector(e,t,n){let o=e;do{if(o?.matches(t))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function getDragItems(e,t,n,o){return Array.from(e.values()).filter((n=>(n.selected||n.id===o)&&(!n.parentNode||!isParentSelected(n,e))&&(n.draggable||t&&void 0===n.draggable))).map((e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode,width:e.width,height:e.height})))}function calcNextPosition(e,t,n,o,r=[0,0],i){let s=e.extent||o;if("parent"===e.extent)if(e.parentNode&&e.width&&e.height){const t=n.get(e.parentNode),{x:o,y:i}=getNodePositionWithOrigin(t,r).positionAbsolute;s=t&&isNumeric(o)&&isNumeric(i)&&isNumeric(t.width)&&isNumeric(t.height)?[[o+e.width*r[0],i+e.height*r[1]],[o+t.width-e.width+e.width*r[0],i+t.height-e.height+e.height*r[1]]]:s}else i?.("005",errorMessages["005"]()),s=o;else if(e.extent&&e.parentNode){const t=n.get(e.parentNode),{x:o,y:i}=getNodePositionWithOrigin(t,r).positionAbsolute;s=[[e.extent[0][0]+o,e.extent[0][1]+i],[e.extent[1][0]+o,e.extent[1][1]+i]]}let a={x:0,y:0};if(e.parentNode){const t=n.get(e.parentNode);a=getNodePositionWithOrigin(t,r).positionAbsolute}const l=s?clampPosition(t,s):t;return{position:{x:l.x-a.x,y:l.y-a.y},positionAbsolute:l}}function getEventHandlerParams({nodeId:e,dragItems:t,nodeInternals:n}){const o=t.map((e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute})));return[e?o.find((t=>t.id===e)):o[0],o]}const getHandleBounds=(e,t,n,o)=>{const r=t.querySelectorAll(e);if(!r||!r.length)return null;const i=Array.from(r),s=t.getBoundingClientRect(),a=s.width*o[0],l=s.height*o[1];return i.map((e=>{const t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-s.left-a)/n,y:(t.top-s.top-l)/n,...getDimensions(e)}}))};function getMouseHandler(e,t,n){return void 0===n?n:o=>{const r=t().nodeInternals.get(e);n(o,{...r})}}function handleNodeClick({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:o,unselectNodesAndEdges:r,multiSelectionActive:i,nodeInternals:s}=t.getState(),a=s.get(e);t.setState({nodesSelectionActive:!1}),a.selected?(n||a.selected&&i)&&r({nodes:[a]}):o([e])}function useGetPointerPosition(){const e=useStoreApi(),t=require$$0.useCallback((({sourceEvent:t})=>{const{transform:n,snapGrid:o,snapToGrid:r}=e.getState(),i=t.touches?t.touches[0].clientX:t.clientX,s=t.touches?t.touches[0].clientY:t.clientY,a={x:(i-n[0])/n[2],y:(s-n[1])/n[2]};return{xSnapped:r?o[0]*Math.round(a.x/o[0]):a.x,ySnapped:r?o[1]*Math.round(a.y/o[1]):a.y,...a}}),[]);return t}function wrapSelectionDragFunc(e){return(t,n,o)=>e?.(t,o)}function useDrag({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,selectNodesOnDrag:s}){const a=useStoreApi(),[l,c]=require$$0.useState(!1),u=require$$0.useRef([]),d=require$$0.useRef({x:null,y:null}),h=require$$0.useRef(0),p=require$$0.useRef(null),g=require$$0.useRef({x:0,y:0}),f=require$$0.useRef(null),m=require$$0.useRef(!1),y=useGetPointerPosition();return require$$0.useEffect((()=>{if(e?.current){const l=select(e.current),x=({x:e,y:t})=>{const{nodeInternals:n,onNodeDrag:o,onSelectionDrag:i,updateNodePositions:s,nodeExtent:l,snapGrid:h,snapToGrid:p,nodeOrigin:g,onError:m}=a.getState();d.current={x:e,y:t};let y=!1;if(u.current=u.current.map((o=>{const r={x:e-o.distance.x,y:t-o.distance.y};p&&(r.x=h[0]*Math.round(r.x/h[0]),r.y=h[1]*Math.round(r.y/h[1]));const i=calcNextPosition(o,r,n,l,g,m);return y=y||o.position.x!==i.position.x||o.position.y!==i.position.y,o.position=i.position,o.positionAbsolute=i.positionAbsolute,o})),!y)return;s(u.current,!0,!0),c(!0);const x=r?o:wrapSelectionDragFunc(i);if(x&&f.current){const[e,t]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:n});x(f.current,e,t)}},S=()=>{if(!p.current)return;const[e,t]=calcAutoPan(g.current,p.current);if(0!==e||0!==t){const{transform:n,panBy:o}=a.getState();d.current.x=(d.current.x??0)-e/n[2],d.current.y=(d.current.y??0)-t/n[2],x(d.current),o({x:e,y:t})}h.current=requestAnimationFrame(S)};if(!t){const t=drag().on("start",(e=>{const{nodeInternals:t,multiSelectionActive:n,domNode:o,nodesDraggable:l,unselectNodesAndEdges:c,onNodeDragStart:h,onSelectionDragStart:f}=a.getState(),m=r?h:wrapSelectionDragFunc(f);s||n||!r||t.get(r)?.selected||c(),r&&i&&s&&handleNodeClick({id:r,store:a});const x=y(e);if(d.current=x,u.current=getDragItems(t,l,x,r),m&&u.current){const[n,o]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:t});m(e.sourceEvent,n,o)}p.current=o?.getBoundingClientRect()||null,g.current=getEventPosition(e.sourceEvent,p.current)})).on("drag",(e=>{const t=y(e),{autoPanOnNodeDrag:n}=a.getState();!m.current&&n&&(m.current=!0,S()),d.current.x===t.xSnapped&&d.current.y===t.ySnapped||!u.current||(f.current=e.sourceEvent,g.current=getEventPosition(e.sourceEvent,p.current),x(t))})).on("end",(e=>{if(c(!1),m.current=!1,cancelAnimationFrame(h.current),u.current){const{updateNodePositions:t,nodeInternals:n,onNodeDragStop:o,onSelectionDragStop:i}=a.getState(),s=r?o:wrapSelectionDragFunc(i);if(t(u.current,!1,!1),s){const[t,o]=getEventHandlerParams({nodeId:r,dragItems:u.current,nodeInternals:n});s(e.sourceEvent,t,o)}}})).filter((t=>{const r=t.target;return!t.button&&(!n||!hasSelector(r,`.${n}`,e))&&(!o||hasSelector(r,o,e))}));return l.call(t),()=>{l.on(".drag",null)}}l.on(".drag",null)}}),[e,t,n,o,i,a,r,s,y]),l}function useUpdateNodePositions(){const e=useStoreApi();return require$$0.useCallback((t=>{const{nodeInternals:n,nodeExtent:o,updateNodePositions:r,getNodes:i,snapToGrid:s,snapGrid:a,onError:l,nodesDraggable:c}=e.getState(),u=i().filter((e=>e.selected&&(e.draggable||c&&void 0===e.draggable))),d=s?a[0]:5,h=s?a[1]:5,p=t.isShiftPressed?4:1,g=t.x*d*p,f=t.y*h*p;r(u.map((e=>{if(e.positionAbsolute){const t={x:e.positionAbsolute.x+g,y:e.positionAbsolute.y+f};s&&(t.x=a[0]*Math.round(t.x/a[0]),t.y=a[1]*Math.round(t.y/a[1]));const{positionAbsolute:r,position:i}=calcNextPosition(e,t,n,o,void 0,l);e.position=i,e.positionAbsolute=r}return e})),!0,!1)}),[])}const arrowKeyDiffs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var wrapNode=e=>{const t=({id:t,type:n,data:o,xPos:r,yPos:i,xPosOrigin:s,yPosOrigin:a,selected:l,onClick:c,onMouseEnter:u,onMouseMove:d,onMouseLeave:h,onContextMenu:p,onDoubleClick:g,style:f,className:m,isDraggable:y,isSelectable:x,isConnectable:S,isFocusable:v,selectNodesOnDrag:b,sourcePosition:w,targetPosition:_,hidden:E,resizeObserver:C,dragHandle:N,zIndex:$,isParent:M,noDragClassName:R,noPanClassName:P,initialized:k,disableKeyboardA11y:A,ariaLabel:D,rfId:I})=>{const j=useStoreApi(),O=require$$0.useRef(null),T=require$$0.useRef(w),B=require$$0.useRef(_),z=require$$0.useRef(n),H=x||y||c||u||d||h,L=useUpdateNodePositions(),q=getMouseHandler(t,j.getState,u),F=getMouseHandler(t,j.getState,d),V=getMouseHandler(t,j.getState,h),U=getMouseHandler(t,j.getState,p),Y=getMouseHandler(t,j.getState,g);require$$0.useEffect((()=>{if(O.current&&!E){const e=O.current;return C?.observe(e),()=>C?.unobserve(e)}}),[E]),require$$0.useEffect((()=>{const e=z.current!==n,o=T.current!==w,r=B.current!==_;O.current&&(e||o||r)&&(e&&(z.current=n),o&&(T.current=w),r&&(B.current=_),j.getState().updateNodeDimensions([{id:t,nodeElement:O.current,forceUpdate:!0}]))}),[t,n,w,_]);const X=useDrag({nodeRef:O,disabled:E||!y,noDragClassName:R,handleSelector:N,nodeId:t,isSelectable:x,selectNodesOnDrag:b});return E?null:jsxRuntime.exports.jsx("div",{className:cc(["react-flow__node",`react-flow__node-${n}`,{[P]:y},m,{selected:l,selectable:x,parent:M,dragging:X}]),ref:O,style:{zIndex:$,transform:`translate(${s}px,${a}px)`,pointerEvents:H?"all":"none",visibility:k?"visible":"hidden",...f},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:q,onMouseMove:F,onMouseLeave:V,onContextMenu:U,onClick:e=>{if(!x||b&&y||handleNodeClick({id:t,store:j}),c){const n=j.getState().nodeInternals.get(t);c(e,{...n})}},onDoubleClick:Y,onKeyDown:v?e=>{if(!isInputDOMNode(e))if(elementSelectionKeys.includes(e.key)&&x){const n="Escape"===e.key;n&&O.current?.blur(),handleNodeClick({id:t,store:j,unselect:n})}else!A&&y&&l&&Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~r}, y: ${~~i}`}),L({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey}))}:void 0,tabIndex:v?0:void 0,role:v?"button":void 0,"aria-describedby":A?void 0:`${ARIA_NODE_DESC_KEY}-${I}`,"aria-label":D,children:jsxRuntime.exports.jsx(Provider,{value:t,children:jsxRuntime.exports.jsx(e,{id:t,data:o,type:n,xPos:r,yPos:i,selected:l,isConnectable:S,sourcePosition:w,targetPosition:_,dragging:X,dragHandle:N,zIndex:$})})})};return t.displayName="NodeWrapper",require$$0.memo(t)};function createNodeTypes(e){return{...{input:wrapNode(e.input||InputNode$1),default:wrapNode(e.default||DefaultNode$1),output:wrapNode(e.output||OutputNode$1),group:wrapNode(e.group||GroupNode)},...Object.keys(e).filter((e=>!["input","default","output","group"].includes(e))).reduce(((t,n)=>(t[n]=wrapNode(e[n]||DefaultNode$1),t)),{})}}const getPositionWithOrigin=({x:e,y:t,width:n,height:o,origin:r})=>n&&o?r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:e,y:t}:{x:e-n*r[0],y:t-o*r[1]}:{x:e,y:t},doc="undefined"!=typeof document?document:null;var useKeyPress=(e=null,t={target:doc})=>{const[n,o]=require$$0.useState(!1),r=require$$0.useRef(new Set([])),[i,s]=require$$0.useMemo((()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter((e=>"string"==typeof e)).map((e=>e.split("+"))),n=t.reduce(((e,t)=>e.concat(...t)),[]);return[t,n]}return[[],[]]}),[e]);return require$$0.useEffect((()=>{if(null!==e){const e=e=>{if(isInputDOMNode(e))return!1;const t=useKeyOrCode(e.code,s);r.current.add(e[t]),isMatchingKey(i,r.current,!1)&&(e.preventDefault(),o(!0))},n=e=>{if(isInputDOMNode(e))return!1;const t=useKeyOrCode(e.code,s);isMatchingKey(i,r.current,!0)?(o(!1),r.current.clear()):r.current.delete(e[t])},a=()=>{r.current.clear(),o(!1)};return t?.target?.addEventListener("keydown",e),t?.target?.addEventListener("keyup",n),window.addEventListener("blur",a),()=>{t?.target?.removeEventListener("keydown",e),t?.target?.removeEventListener("keyup",n),window.removeEventListener("blur",a)}}}),[e,o]),n};function isMatchingKey(e,t,n){return e.filter((e=>n||e.length===t.size)).some((e=>e.every((e=>t.has(e)))))}function useKeyOrCode(e,t){return t.includes(e)?"code":"key"}function calculateXYZPosition(e,t,n,o){if(!e.parentNode)return n;const r=t.get(e.parentNode),i=getNodePositionWithOrigin(r,o);return calculateXYZPosition(r,t,{x:(n.x??0)+i.x,y:(n.y??0)+i.y,z:(r[internalsSymbol]?.z??0)>(n.z??0)?r[internalsSymbol]?.z??0:n.z??0},o)}function updateAbsoluteNodePositions(e,t,n){e.forEach((o=>{if(o.parentNode&&!e.has(o.parentNode))throw new Error(`Parent node ${o.parentNode} not found`);if(o.parentNode||n?.[o.id]){const{x:r,y:i,z:s}=calculateXYZPosition(o,e,{...o.position,z:o[internalsSymbol]?.z??0},t);o.positionAbsolute={x:r,y:i},o[internalsSymbol].z=s,n?.[o.id]&&(o[internalsSymbol].isParent=!0)}}))}function createNodeInternals(e,t,n,o){const r=new Map,i={},s=o?1e3:0;return e.forEach((e=>{const n=(isNumeric(e.zIndex)?e.zIndex:0)+(e.selected?s:0),o=t.get(e.id),a={width:o?.width,height:o?.height,...e,positionAbsolute:{x:e.position.x,y:e.position.y}};e.parentNode&&(a.parentNode=e.parentNode,i[e.parentNode]=!0),Object.defineProperty(a,internalsSymbol,{enumerable:!1,value:{handleBounds:o?.[internalsSymbol]?.handleBounds,z:n}}),r.set(e.id,a)})),updateAbsoluteNodePositions(r,n,i),r}function fitView(e,t={}){const{getNodes:n,width:o,height:r,minZoom:i,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:d}=e(),h=t.initial&&!c&&u;if(a&&l&&(h||!t.initial)){const e=n().filter((e=>{const n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some((t=>t.id===e.id)):n})),c=e.every((e=>e.width&&e.height));if(e.length>0&&c){const n=getRectOfNodes(e,d),[c,u,h]=getTransformForBounds(n,o,r,t.minZoom??i,t.maxZoom??s,t.padding??.1),p=identity.translate(c,u).scale(h);return"number"==typeof t.duration&&t.duration>0?a.transform(getD3Transition(l,t.duration),p):a.transform(l,p),!0}}return!1}function handleControlledNodeSelectionChange(e,t){return e.forEach((e=>{const n=t.get(e.id);n&&t.set(n.id,{...n,[internalsSymbol]:n[internalsSymbol],selected:e.selected})})),new Map(t)}function handleControlledEdgeSelectionChange(e,t){return t.map((t=>{const n=e.find((e=>e.id===t.id));return n&&(t.selected=n.selected),t}))}function updateNodesAndEdgesSelections({changedNodes:e,changedEdges:t,get:n,set:o}){const{nodeInternals:r,edges:i,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&o({nodeInternals:handleControlledNodeSelectionChange(e,r)}),s?.(e)),t?.length&&(c&&o({edges:handleControlledEdgeSelectionChange(t,i)}),a?.(t))}const noop=()=>{},initialViewportHelper={zoomIn:noop,zoomOut:noop,zoomTo:noop,getZoom:()=>1,setViewport:noop,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:noop,fitBounds:noop,project:e=>e,viewportInitialized:!1},selector$b=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),useViewportHelper=()=>{const e=useStoreApi(),{d3Zoom:t,d3Selection:n}=useStore(selector$b,shallow),o=require$$0.useMemo((()=>n&&t?{zoomIn:e=>t.scaleBy(getD3Transition(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(getD3Transition(n,e?.duration),1/1.2),zoomTo:(e,o)=>t.scaleTo(getD3Transition(n,o?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(o,r)=>{const[i,s,a]=e.getState().transform,l=identity.translate(o.x??i,o.y??s).scale(o.zoom??a);t.transform(getD3Transition(n,r?.duration),l)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},fitView:t=>fitView(e.getState,t),setCenter:(o,r,i)=>{const{width:s,height:a,maxZoom:l}=e.getState(),c=void 0!==i?.zoom?i.zoom:l,u=s/2-o*c,d=a/2-r*c,h=identity.translate(u,d).scale(c);t.transform(getD3Transition(n,i?.duration),h)},fitBounds:(o,r)=>{const{width:i,height:s,minZoom:a,maxZoom:l}=e.getState(),[c,u,d]=getTransformForBounds(o,i,s,a,l,r?.padding??.1),h=identity.translate(c,u).scale(d);t.transform(getD3Transition(n,r?.duration),h)},project:t=>{const{transform:n,snapToGrid:o,snapGrid:r}=e.getState();return pointToRendererPoint(t,n,o,r)},viewportInitialized:!0}:initialViewportHelper),[t,n]);return o};function useReactFlow(){const e=useViewportHelper(),t=useStoreApi(),n=require$$0.useCallback((()=>t.getState().getNodes().map((e=>({...e})))),[]),o=require$$0.useCallback((e=>t.getState().nodeInternals.get(e)),[]),r=require$$0.useCallback((()=>{const{edges:e=[]}=t.getState();return e.map((e=>({...e})))}),[]),i=require$$0.useCallback((e=>{const{edges:n=[]}=t.getState();return n.find((t=>t.id===e))}),[]),s=require$$0.useCallback((e=>{const{getNodes:n,setNodes:o,hasDefaultNodes:r,onNodesChange:i}=t.getState(),s=n(),a="function"==typeof e?e(s):e;if(r)o(a);else if(i){i(0===a.length?s.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),a=require$$0.useCallback((e=>{const{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i}=t.getState(),s="function"==typeof e?e(n):e;if(r)o(s);else if(i){i(0===s.length?n.map((e=>({type:"remove",id:e.id}))):s.map((e=>({item:e,type:"reset"}))))}}),[]),l=require$$0.useCallback((e=>{const n=Array.isArray(e)?e:[e],{getNodes:o,setNodes:r,hasDefaultNodes:i,onNodesChange:s}=t.getState();if(i){r([...o(),...n])}else if(s){s(n.map((e=>({item:e,type:"add"}))))}}),[]),c=require$$0.useCallback((e=>{const n=Array.isArray(e)?e:[e],{edges:o=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:s}=t.getState();if(i)r([...o,...n]);else if(s){s(n.map((e=>({item:e,type:"add"}))))}}),[]),u=require$$0.useCallback((()=>{const{getNodes:e,edges:n=[],transform:o}=t.getState(),[r,i,s]=o;return{nodes:e().map((e=>({...e}))),edges:n.map((e=>({...e}))),viewport:{x:r,y:i,zoom:s}}}),[]),d=require$$0.useCallback((({nodes:e,edges:n})=>{const{nodeInternals:o,getNodes:r,edges:i,hasDefaultNodes:s,hasDefaultEdges:a,onNodesDelete:l,onEdgesDelete:c,onNodesChange:u,onEdgesChange:d}=t.getState(),h=(e||[]).map((e=>e.id)),p=(n||[]).map((e=>e.id)),g=r().reduce(((e,t)=>{const n=!h.includes(t.id)&&t.parentNode&&e.find((e=>e.id===t.parentNode));return("boolean"!=typeof t.deletable||t.deletable)&&(h.includes(t.id)||n)&&e.push(t),e}),[]),f=i.filter((e=>"boolean"!=typeof e.deletable||e.deletable)),m=f.filter((e=>p.includes(e.id)));if(g||m){const e=getConnectedEdges(g,f),n=[...m,...e],r=n.reduce(((e,t)=>(e.includes(t.id)||e.push(t.id),e)),[]);if((a||s)&&(a&&t.setState({edges:i.filter((e=>!r.includes(e.id)))}),s&&(g.forEach((e=>{o.delete(e.id)})),t.setState({nodeInternals:new Map(o)}))),r.length>0&&(c?.(n),d&&d(r.map((e=>({id:e,type:"remove"}))))),g.length>0&&(l?.(g),u)){u(g.map((e=>({id:e.id,type:"remove"}))))}}}),[]),h=require$$0.useCallback((e=>{const n=isRectObject(e),o=n?null:t.getState().nodeInternals.get(e.id);return[n?e:nodeToRect(o),o,n]}),[]),p=require$$0.useCallback(((e,n=!0,o)=>{const[r,i,s]=h(e);return r?(o||t.getState().getNodes()).filter((t=>{if(!(s||t.id!==i.id&&t.positionAbsolute))return!1;const o=nodeToRect(t),a=getOverlappingArea(o,r);return n&&a>0||a>=e.width*e.height})):[]}),[]),g=require$$0.useCallback(((e,t,n=!0)=>{const[o]=h(e);if(!o)return!1;const r=getOverlappingArea(o,t);return n&&r>0||r>=e.width*e.height}),[]);return require$$0.useMemo((()=>({...e,getNodes:n,getNode:o,getEdges:r,getEdge:i,setNodes:s,setEdges:a,addNodes:l,addEdges:c,toObject:u,deleteElements:d,getIntersectingNodes:p,isNodeIntersecting:g})),[e,n,o,r,i,s,a,l,c,u,d,p,g])}var useGlobalKeyHandler=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=useStoreApi(),{deleteElements:o}=useReactFlow(),r=useKeyPress(e),i=useKeyPress(t);require$$0.useEffect((()=>{if(r){const{edges:e,getNodes:t}=n.getState(),r=t().filter((e=>e.selected)),i=e.filter((e=>e.selected));o({nodes:r,edges:i}),n.setState({nodesSelectionActive:!1})}}),[r]),require$$0.useEffect((()=>{n.setState({multiSelectionActive:i})}),[i])};function useResizeHandler(e){const t=useStoreApi();require$$0.useEffect((()=>{let n;const o=()=>{if(!e.current)return;const n=getDimensions(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004",errorMessages["004"]()),t.setState({width:n.width||500,height:n.height||500})};return o(),window.addEventListener("resize",o),e.current&&(n=new ResizeObserver((()=>o())),n.observe(e.current)),()=>{window.removeEventListener("resize",o),n&&e.current&&n.unobserve(e.current)}}),[])}const containerStyle={position:"absolute",width:"100%",height:"100%",top:0,left:0},viewChanged=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,eventToFlowTransform=e=>({x:e.x,y:e.y,zoom:e.k}),isWrappedWithClass=(e,t)=>e.target.closest(`.${t}`),isRightClickPan=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),selector$a=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),ZoomPane=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:r=!0,zoomOnPinch:i=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=PanOnScrollMode.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:d=!0,defaultViewport:h,translateExtent:p,minZoom:g,maxZoom:f,zoomActivationKeyCode:m,preventScrolling:y=!0,children:x,noWheelClassName:S,noPanClassName:v})=>{const b=require$$0.useRef(),w=useStoreApi(),_=require$$0.useRef(!1),E=require$$0.useRef(!1),C=require$$0.useRef(null),N=require$$0.useRef({x:0,y:0,zoom:0}),{d3Zoom:$,d3Selection:M,d3ZoomHandler:R,userSelectionActive:P}=useStore(selector$a,shallow),k=useKeyPress(m),A=require$$0.useRef(0);return useResizeHandler(C),require$$0.useEffect((()=>{if(C.current){const e=C.current.getBoundingClientRect(),t=zoom().scaleExtent([g,f]).translateExtent(p),n=select(C.current).call(t),o=identity.translate(h.x,h.y).scale(clamp(h.zoom,g,f)),r=[[0,0],[e.width,e.height]],i=t.constrain()(o,r,p);t.transform(n,i),w.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[i.x,i.y,i.k],domNode:C.current.closest(".react-flow")})}}),[]),require$$0.useEffect((()=>{M&&$&&(!s||k||P?void 0!==R&&M.on("wheel.zoom",(function(e,t){if(!y||isWrappedWithClass(e,S))return null;e.preventDefault(),R.call(this,e,t)})):M.on("wheel.zoom",(e=>{if(isWrappedWithClass(e,S))return!1;e.preventDefault(),e.stopImmediatePropagation();const t=M.property("__zoom").k||1;if(e.ctrlKey&&i){const n=pointer(e),o=-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*10,r=t*Math.pow(2,o);return void $.scaleTo(M,r,n)}const n=1===e.deltaMode?20:1,o=l===PanOnScrollMode.Vertical?0:e.deltaX*n,r=l===PanOnScrollMode.Horizontal?0:e.deltaY*n;$.translateBy(M,-o/t*a,-r/t*a)})))}),[P,s,l,M,$,R,k,i,y,S]),require$$0.useEffect((()=>{$&&$.on("start",(e=>{if(!e.sourceEvent)return null;A.current=e.sourceEvent.button;const{onViewportChangeStart:n}=w.getState();if(_.current=!0,"mousedown"===e.sourceEvent?.type&&w.setState({paneDragging:!0}),t||n){const o=eventToFlowTransform(e.transform);N.current=o,n?.(o),t?.(e.sourceEvent,o)}}))}),[$,t]),require$$0.useEffect((()=>{$&&(P&&!_.current?$.on("zoom",null):P||$.on("zoom",(t=>{const{onViewportChange:n}=w.getState();if(w.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),E.current=!(!o||!isRightClickPan(d,A.current??0)),e||n){const o=eventToFlowTransform(t.transform);n?.(o),e?.(t.sourceEvent,o)}})))}),[P,$,e,d,o]),require$$0.useEffect((()=>{$&&$.on("end",(e=>{if(!e.sourceEvent)return null;const{onViewportChangeEnd:t}=w.getState();if(_.current=!1,w.setState({paneDragging:!1}),o&&isRightClickPan(d,A.current??0)&&!E.current&&o(e.sourceEvent),E.current=!1,(n||t)&&viewChanged(N.current,e.transform)){const o=eventToFlowTransform(e.transform);N.current=o,clearTimeout(b.current),b.current=setTimeout((()=>{t?.(o),n?.(e.sourceEvent,o)}),s?150:0)}}))}),[$,s,d,n,o]),require$$0.useEffect((()=>{$&&$.filter((e=>{const t=k||r,n=i&&e.ctrlKey;if(1===e.button&&"mousedown"===e.type&&(isWrappedWithClass(e,"react-flow__node")||isWrappedWithClass(e,"react-flow__edge")))return!0;if(!(d||t||s||c||i))return!1;if(P)return!1;if(!c&&"dblclick"===e.type)return!1;if(isWrappedWithClass(e,S)&&"wheel"===e.type)return!1;if(isWrappedWithClass(e,v)&&"wheel"!==e.type)return!1;if(!i&&e.ctrlKey&&"wheel"===e.type)return!1;if(!t&&!s&&!n&&"wheel"===e.type)return!1;if(!d&&("mousedown"===e.type||"touchstart"===e.type))return!1;if(Array.isArray(d)&&!d.includes(e.button)&&("mousedown"===e.type||"touchstart"===e.type))return!1;const o=Array.isArray(d)&&d.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&o}))}),[P,$,r,i,s,c,d,u,k]),jsxRuntime.exports.jsx("div",{className:"react-flow__renderer",ref:C,style:containerStyle,children:x})},selector$9=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function UserSelection(){const{userSelectionActive:e,userSelectionRect:t}=useStore(selector$9,shallow);return e&&t?jsxRuntime.exports.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}function handleParentExpand(e,t){const n=e.find((e=>e.id===t.parentNode));if(n){const e=t.position.x+t.width-n.width,o=t.position.y+t.height-n.height;if(e>0||o>0||t.position.x<0||t.position.y<0){if(n.style={...n.style}||{},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,e>0&&(n.style.width+=e),o>0&&(n.style.height+=o),t.position.x<0){const e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function applyChanges(e,t){if(e.some((e=>"reset"===e.type)))return e.filter((e=>"reset"===e.type)).map((e=>e.item));const n=e.filter((e=>"add"===e.type)).map((e=>e.item));return t.reduce(((t,n)=>{const o=e.filter((e=>e.id===n.id));if(0===o.length)return t.push(n),t;const r={...n};for(const e of o)if(e)switch(e.type){case"select":r.selected=e.selected;break;case"position":void 0!==e.position&&(r.position=e.position),void 0!==e.positionAbsolute&&(r.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(r.dragging=e.dragging),r.expandParent&&handleParentExpand(t,r);break;case"dimensions":void 0!==e.dimensions&&(r.width=e.dimensions.width,r.height=e.dimensions.height),void 0!==e.updateStyle&&(r.style={...r.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(r.resizing=e.resizing),r.expandParent&&handleParentExpand(t,r);break;case"remove":return t}return t.push(r),t}),n)}function applyNodeChanges(e,t){return applyChanges(e,t)}const createSelectionChange=(e,t)=>({id:e,type:"select",selected:t});function getSelectionChanges(e,t){return e.reduce(((e,n)=>{const o=t.includes(n.id);return!n.selected&&o?(n.selected=!0,e.push(createSelectionChange(n.id,!0))):n.selected&&!o&&(n.selected=!1,e.push(createSelectionChange(n.id,!1))),e}),[])}const wrapHandler=(e,t)=>n=>{n.target===t.current&&e?.(n)},selector$8=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Pane=require$$0.memo((({isSelecting:e,selectionMode:t=SelectionMode.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:r,onPaneClick:i,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:d})=>{const h=require$$0.useRef(null),p=useStoreApi(),g=require$$0.useRef(0),f=require$$0.useRef(0),m=require$$0.useRef(),{userSelectionActive:y,elementsSelectable:x,dragging:S}=useStore(selector$8,shallow),v=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),g.current=0,f.current=0},b=e=>{i?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},w=a?e=>a(e):void 0,_=x&&(e||y);return jsxRuntime.exports.jsxs("div",{className:cc(["react-flow__pane",{dragging:S,selection:e}]),onClick:_?void 0:wrapHandler(b,h),onContextMenu:wrapHandler((e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():s?.(e)}),h),onWheel:wrapHandler(w,h),onMouseEnter:_?void 0:l,onMouseDown:_?t=>{const{resetSelectedElements:n,domNode:r}=p.getState();if(m.current=r?.getBoundingClientRect(),!x||!e||0!==t.button||t.target!==h.current||!m.current)return;const{x:i,y:s}=getEventPosition(t,m.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:i,startY:s,x:i,y:s}}),o?.(t)}:void 0,onMouseMove:_?n=>{const{userSelectionRect:o,nodeInternals:r,edges:i,transform:s,onNodesChange:a,onEdgesChange:l,nodeOrigin:c,getNodes:u}=p.getState();if(!e||!m.current||!o)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});const d=getEventPosition(n,m.current),h=o.startX??0,y=o.startY??0,x={...o,x:d.x<h?d.x:h,y:d.y<y?d.y:y,width:Math.abs(d.x-h),height:Math.abs(d.y-y)},S=u(),v=getNodesInside(r,x,s,t===SelectionMode.Partial,!0,c),b=getConnectedEdges(v,i).map((e=>e.id)),w=v.map((e=>e.id));if(g.current!==w.length){g.current=w.length;const e=getSelectionChanges(S,w);e.length&&a?.(e)}if(f.current!==b.length){f.current=b.length;const e=getSelectionChanges(i,b);e.length&&l?.(e)}p.setState({userSelectionRect:x})}:c,onMouseUp:_?e=>{if(0!==e.button)return;const{userSelectionRect:t}=p.getState();!y&&t&&e.target===h.current&&b?.(e),p.setState({nodesSelectionActive:g.current>0}),v(),r?.(e)}:void 0,onMouseLeave:_?e=>{y&&(p.setState({nodesSelectionActive:g.current>0}),r?.(e)),v()}:u,ref:h,style:containerStyle,children:[d,jsxRuntime.exports.jsx(UserSelection,{})]})}));Pane.displayName="Pane";const selector$7=e=>{const t=e.getNodes().filter((e=>e.selected));return{...getRectOfNodes(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function NodesSelection({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=useStoreApi(),{width:r,height:i,x:s,y:a,transformString:l,userSelectionActive:c}=useStore(selector$7,shallow),u=useUpdateNodePositions(),d=require$$0.useRef(null);if(require$$0.useEffect((()=>{n||d.current?.focus({preventScroll:!0})}),[n]),useDrag({nodeRef:d}),c||!r||!i)return null;const h=e?t=>{const n=o.getState().getNodes().filter((e=>e.selected));e(t,n)}:void 0;return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:jsxRuntime.exports.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&u({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey})},style:{width:r,height:i,top:a,left:s}})})}var NodesSelection$1=require$$0.memo(NodesSelection);const selector$6=e=>e.nodesSelectionActive,FlowRenderer=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:g,onSelectionEnd:f,multiSelectionKeyCode:m,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:S,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:w,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:N,defaultViewport:$,translateExtent:M,minZoom:R,maxZoom:P,preventScrolling:k,onSelectionContextMenu:A,noWheelClassName:D,noPanClassName:I,disableKeyboardA11y:j})=>{const O=useStore(selector$6),T=useKeyPress(d),B=useKeyPress(y)||N,z=T||h&&!0!==B;return useGlobalKeyHandler({deleteKeyCode:a,multiSelectionKeyCode:m}),jsxRuntime.exports.jsx(ZoomPane,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:i,elementsSelectable:S,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:w,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:!T&&B,defaultViewport:$,translateExtent:M,minZoom:R,maxZoom:P,zoomActivationKeyCode:x,preventScrolling:k,noWheelClassName:D,noPanClassName:I,children:jsxRuntime.exports.jsxs(Pane,{onSelectionStart:g,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:B,isSelecting:!!z,selectionMode:p,children:[e,O&&jsxRuntime.exports.jsx(NodesSelection$1,{onSelectionContextMenu:A,noPanClassName:I,disableKeyboardA11y:j})]})})};FlowRenderer.displayName="FlowRenderer";var FlowRenderer$1=require$$0.memo(FlowRenderer);function useVisibleNodes(e){return useStore(require$$0.useCallback((t=>e?getNodesInside(t.nodeInternals,{x:0,y:0,width:t.width,height:t.height},t.transform,!0):t.getNodes()),[e]))}const selector$5=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),NodeRenderer=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,updateNodeDimensions:i,onError:s}=useStore(selector$5,shallow),a=useVisibleNodes(e.onlyRenderVisibleElements),l=require$$0.useRef(),c=require$$0.useMemo((()=>{if("undefined"==typeof ResizeObserver)return null;const e=new ResizeObserver((e=>{const t=e.map((e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})));i(t)}));return l.current=e,e}),[]);return require$$0.useEffect((()=>()=>{l?.current?.disconnect()}),[]),jsxRuntime.exports.jsx("div",{className:"react-flow__nodes",style:containerStyle,children:a.map((i=>{let a=i.type||"default";e.nodeTypes[a]||(s?.("003",errorMessages["003"](a)),a="default");const l=e.nodeTypes[a]||e.nodeTypes.default,u=!!(i.draggable||t&&void 0===i.draggable),d=!!(i.selectable||r&&void 0===i.selectable),h=!!(i.connectable||n&&void 0===i.connectable),p=!!(i.focusable||o&&void 0===i.focusable),g=e.nodeExtent?clampPosition(i.positionAbsolute,e.nodeExtent):i.positionAbsolute,f=g?.x??0,m=g?.y??0,y=getPositionWithOrigin({x:f,y:m,width:i.width??0,height:i.height??0,origin:e.nodeOrigin});return jsxRuntime.exports.jsx(l,{id:i.id,className:i.className,style:i.style,type:a,data:i.data,sourcePosition:i.sourcePosition||Position.Bottom,targetPosition:i.targetPosition||Position.Top,hidden:i.hidden,xPos:f,yPos:m,xPosOrigin:y.x,yPosOrigin:y.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!i.selected,isDraggable:u,isSelectable:d,isConnectable:h,isFocusable:p,resizeObserver:c,dragHandle:i.dragHandle,zIndex:i[internalsSymbol]?.z??0,isParent:!!i[internalsSymbol]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!i.width&&!!i.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:i.ariaLabel},i.id)}))})};NodeRenderer.displayName="NodeRenderer";var NodeRenderer$1=require$$0.memo(NodeRenderer);const defaultEdgeTree=[{level:0,isMaxLevel:!0,edges:[]}];function groupEdgesByZLevel(e,t,n=!1){let o=-1;const r=e.reduce(((e,r)=>{const i=isNumeric(r.zIndex);let s=i?r.zIndex:0;return n&&(s=i?r.zIndex:Math.max(t.get(r.source)?.[internalsSymbol]?.z||0,t.get(r.target)?.[internalsSymbol]?.z||0)),e[s]?e[s].push(r):e[s]=[r],o=s>o?s:o,e}),{}),i=Object.entries(r).map((([e,t])=>{const n=+e;return{edges:t,level:n,isMaxLevel:n===o}}));return 0===i.length?defaultEdgeTree:i}function useVisibleEdges(e,t,n){return groupEdgesByZLevel(useStore(require$$0.useCallback((n=>e?n.edges.filter((e=>{const o=t.get(e.source),r=t.get(e.target);return o?.width&&o?.height&&r?.width&&r?.height&&isEdgeVisible({sourcePos:o.positionAbsolute||{x:0,y:0},targetPos:r.positionAbsolute||{x:0,y:0},sourceWidth:o.width,sourceHeight:o.height,targetWidth:r.width,targetHeight:r.height,width:n.width,height:n.height,transform:n.transform})})):n.edges),[e,t])),t,n)}const ArrowSymbol=({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),ArrowClosedSymbol=({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),MarkerSymbols={[MarkerType.Arrow]:ArrowSymbol,[MarkerType.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(e){const t=useStoreApi();return require$$0.useMemo((()=>Object.prototype.hasOwnProperty.call(MarkerSymbols,e)?MarkerSymbols[e]:(t.getState().onError?.("009",errorMessages["009"](e)),null)),[e])}const Marker=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=useMarkerSymbol(t);return l?jsxRuntime.exports.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0",children:jsxRuntime.exports.jsx(l,{color:n,strokeWidth:s})}):null},markerSelector=({defaultColor:e,rfId:t})=>n=>{const o=[];return n.edges.reduce(((n,r)=>([r.markerStart,r.markerEnd].forEach((r=>{if(r&&"object"==typeof r){const i=getMarkerId(r,t);o.includes(i)||(n.push({id:i,color:r.color||e,...r}),o.push(i))}})),n)),[]).sort(((e,t)=>e.id.localeCompare(t.id)))},MarkerDefinitions=({defaultColor:e,rfId:t})=>{const n=useStore(require$$0.useCallback(markerSelector({defaultColor:e,rfId:t}),[e,t]),((e,t)=>!(e.length!==t.length||e.some(((e,n)=>e.id!==t[n].id)))));return jsxRuntime.exports.jsx("defs",{children:n.map((e=>jsxRuntime.exports.jsx(Marker,{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)))})};MarkerDefinitions.displayName="MarkerDefinitions";var MarkerDefinitions$1=require$$0.memo(MarkerDefinitions);const selector$4=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),EdgeRenderer=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:o,edgeTypes:r,noPanClassName:i,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,edgeUpdaterRadius:h,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:f,children:m})=>{const{edgesFocusable:y,elementsSelectable:x,width:S,height:v,connectionMode:b,nodeInternals:w,onError:_}=useStore(selector$4,shallow),E=useVisibleEdges(t,w,n);return S?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[E.map((({level:t,edges:n,isMaxLevel:m})=>jsxRuntime.exports.jsxs("svg",{style:{zIndex:t},width:S,height:v,className:"react-flow__edges react-flow__container",children:[m&&jsxRuntime.exports.jsx(MarkerDefinitions$1,{defaultColor:e,rfId:o}),jsxRuntime.exports.jsx("g",{children:n.map((e=>{const[t,n,m]=getNodeData(w.get(e.source)),[S,v,E]=getNodeData(w.get(e.target));if(!m||!E)return null;let C=e.type||"default";r[C]||(_?.("011",errorMessages["011"](C)),C="default");const N=r[C]||r.default,$=b===ConnectionMode.Strict?v.target:(v.target??[]).concat(v.source??[]),M=getHandle(n.source,e.sourceHandle),R=getHandle($,e.targetHandle),P=M?.position||Position.Bottom,k=R?.position||Position.Top,A=!!(e.focusable||y&&void 0===e.focusable);if(!M||!R)return _?.("008",errorMessages["008"](M,e)),null;const{sourceX:D,sourceY:I,targetX:j,targetY:O}=getEdgePositions(t,M,P,S,R,k);return jsxRuntime.exports.jsx(N,{id:e.id,className:cc([e.className,i]),type:C,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:D,sourceY:I,targetX:j,targetY:O,sourcePosition:P,targetPosition:k,elementsSelectable:x,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,onClick:d,edgeUpdaterRadius:h,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:f,rfId:o,ariaLabel:e.ariaLabel,isFocusable:A,pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth},e.id)}))})]},t))),m]}):null};EdgeRenderer.displayName="EdgeRenderer";var EdgeRenderer$1=require$$0.memo(EdgeRenderer);const selector$3=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Viewport({children:e}){const t=useStore(selector$3);return jsxRuntime.exports.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function useOnInitHandler(e){const t=useReactFlow(),n=require$$0.useRef(!1);require$$0.useEffect((()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout((()=>e(t)),1),n.current=!0)}),[e,t.viewportInitialized])}const oppositePosition={[Position.Left]:Position.Right,[Position.Right]:Position.Left,[Position.Top]:Position.Bottom,[Position.Bottom]:Position.Top},ConnectionLine=({nodeId:e,handleType:t,style:n,type:o=ConnectionLineType.Bezier,CustomComponent:r,connectionStatus:i})=>{const{fromNode:s,handleId:a,toX:l,toY:c,connectionMode:u}=useStore(require$$0.useCallback((t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode})),[e]),shallow),d=s?.[internalsSymbol]?.handleBounds;let h=d?.[t];if(u===ConnectionMode.Loose&&(h=h||d?.["source"===t?"target":"source"]),!s||!h)return null;const p=a?h.find((e=>e.id===a)):h[0],g=p?p.x+p.width/2:(s.width??0)/2,f=p?p.y+p.height/2:s.height??0,m=(s.positionAbsolute?.x??0)+g,y=(s.positionAbsolute?.y??0)+f,x=p?.position,S=x?oppositePosition[x]:null;if(!x||!S)return null;if(r)return jsxRuntime.exports.jsx(r,{connectionLineType:o,connectionLineStyle:n,fromNode:s,fromHandle:p,fromX:m,fromY:y,toX:l,toY:c,fromPosition:x,toPosition:S,connectionStatus:i});let v="";const b={sourceX:m,sourceY:y,sourcePosition:x,targetX:l,targetY:c,targetPosition:S};return o===ConnectionLineType.Bezier?[v]=getBezierPath(b):o===ConnectionLineType.Step?[v]=getSmoothStepPath({...b,borderRadius:0}):o===ConnectionLineType.SmoothStep?[v]=getSmoothStepPath(b):o===ConnectionLineType.SimpleBezier?[v]=getSimpleBezierPath(b):v=`M${m},${y} ${l},${c}`,jsxRuntime.exports.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:n})};ConnectionLine.displayName="ConnectionLine";const selector$2=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function ConnectionLineWrapper({containerStyle:e,style:t,type:n,component:o}){const{nodeId:r,handleType:i,nodesConnectable:s,width:a,height:l,connectionStatus:c}=useStore(selector$2,shallow);return!!(r&&i&&a&&s)?jsxRuntime.exports.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:jsxRuntime.exports.jsx("g",{className:cc(["react-flow__connection",c]),children:jsxRuntime.exports.jsx(ConnectionLine,{nodeId:r,handleType:i,style:t,type:n,CustomComponent:o,connectionStatus:c})})}):null}const GraphView=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:o,onMoveEnd:r,onInit:i,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:p,onSelectionContextMenu:g,onSelectionStart:f,onSelectionEnd:m,connectionLineType:y,connectionLineStyle:x,connectionLineComponent:S,connectionLineContainerStyle:v,selectionKeyCode:b,selectionOnDrag:w,selectionMode:_,multiSelectionKeyCode:E,panActivationKeyCode:C,zoomActivationKeyCode:N,deleteKeyCode:$,onlyRenderVisibleElements:M,elementsSelectable:R,selectNodesOnDrag:P,defaultViewport:k,translateExtent:A,minZoom:D,maxZoom:I,preventScrolling:j,defaultMarkerColor:O,zoomOnScroll:T,zoomOnPinch:B,panOnScroll:z,panOnScrollSpeed:H,panOnScrollMode:L,zoomOnDoubleClick:q,panOnDrag:F,onPaneClick:V,onPaneMouseEnter:U,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneScroll:K,onPaneContextMenu:W,onEdgeUpdate:Z,onEdgeContextMenu:G,onEdgeMouseEnter:J,onEdgeMouseMove:Q,onEdgeMouseLeave:ee,edgeUpdaterRadius:te,onEdgeUpdateStart:ne,onEdgeUpdateEnd:oe,noDragClassName:re,noWheelClassName:ie,noPanClassName:se,elevateEdgesOnSelect:ae,disableKeyboardA11y:le,nodeOrigin:ce,nodeExtent:ue,rfId:de})=>(useOnInitHandler(i),jsxRuntime.exports.jsx(FlowRenderer$1,{onPaneClick:V,onPaneMouseEnter:U,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneContextMenu:W,onPaneScroll:K,deleteKeyCode:$,selectionKeyCode:b,selectionOnDrag:w,selectionMode:_,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:E,panActivationKeyCode:C,zoomActivationKeyCode:N,elementsSelectable:R,onMove:n,onMoveStart:o,onMoveEnd:r,zoomOnScroll:T,zoomOnPinch:B,zoomOnDoubleClick:q,panOnScroll:z,panOnScrollSpeed:H,panOnScrollMode:L,panOnDrag:F,defaultViewport:k,translateExtent:A,minZoom:D,maxZoom:I,onSelectionContextMenu:g,preventScrolling:j,noDragClassName:re,noWheelClassName:ie,noPanClassName:se,disableKeyboardA11y:le,children:jsxRuntime.exports.jsxs(Viewport,{children:[jsxRuntime.exports.jsx(EdgeRenderer$1,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:c,onEdgeUpdate:Z,onlyRenderVisibleElements:M,onEdgeContextMenu:G,onEdgeMouseEnter:J,onEdgeMouseMove:Q,onEdgeMouseLeave:ee,onEdgeUpdateStart:ne,onEdgeUpdateEnd:oe,edgeUpdaterRadius:te,defaultMarkerColor:O,noPanClassName:se,elevateEdgesOnSelect:!!ae,disableKeyboardA11y:le,rfId:de,children:jsxRuntime.exports.jsx(ConnectionLineWrapper,{style:x,type:y,component:S,containerStyle:v})}),jsxRuntime.exports.jsx("div",{className:"react-flow__edgelabel-renderer"}),jsxRuntime.exports.jsx(NodeRenderer$1,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:p,selectNodesOnDrag:P,onlyRenderVisibleElements:M,noPanClassName:se,noDragClassName:re,disableKeyboardA11y:le,nodeOrigin:ce,nodeExtent:ue,rfId:de})]})}));GraphView.displayName="GraphView";var GraphView$1=require$$0.memo(GraphView);const infiniteExtent=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],initialState={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:infiniteExtent,nodeExtent:infiniteExtent,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:devWarn},createRFStore=()=>createStore(((e,t)=>({...initialState,setNodes:n=>{const{nodeInternals:o,nodeOrigin:r,elevateNodesOnSelect:i}=t();e({nodeInternals:createNodeInternals(n,o,r,i)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:o={}}=t();e({edges:n.map((e=>({...o,...e})))})},setDefaultNodesAndEdges:(n,o)=>{const r=void 0!==n,i=void 0!==o,s=r?createNodeInternals(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:i?o:[],hasDefaultNodes:r,hasDefaultEdges:i})},updateNodeDimensions:n=>{const{onNodesChange:o,nodeInternals:r,fitViewOnInit:i,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:c}=t(),u=l?.querySelector(".react-flow__viewport");if(!u)return;const d=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(d.transform),p=n.reduce(((e,t)=>{const n=r.get(t.id);if(n){const o=getDimensions(t.nodeElement);!(!o.width||!o.height||n.width===o.width&&n.height===o.height&&!t.forceUpdate)&&(r.set(n.id,{...n,[internalsSymbol]:{...n[internalsSymbol],handleBounds:{source:getHandleBounds(".source",t.nodeElement,h,c),target:getHandleBounds(".target",t.nodeElement,h,c)}},...o}),e.push({id:n.id,type:"dimensions",dimensions:o}))}return e}),[]);updateAbsoluteNodePositions(r,c);const g=s||i&&!s&&fitView(t,{initial:!0,...a});e({nodeInternals:new Map(r),fitViewOnInitDone:g}),p?.length>0&&o?.(p)},updateNodePositions:(e,n=!0,o=!1)=>{const{triggerNodeChanges:r}=t();r(e.map((e=>{const t={id:e.id,type:"position",dragging:o};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t})))},triggerNodeChanges:n=>{const{onNodesChange:o,nodeInternals:r,hasDefaultNodes:i,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n?.length){if(i){const t=createNodeInternals(applyNodeChanges(n,a()),r,s,l);e({nodeInternals:t})}o?.(n)}},addSelectedNodes:n=>{const{multiSelectionActive:o,edges:r,getNodes:i}=t();let s,a=null;o?s=n.map((e=>createSelectionChange(e,!0))):(s=getSelectionChanges(i(),n),a=getSelectionChanges(r,[])),updateNodesAndEdgesSelections({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:o,edges:r,getNodes:i}=t();let s,a=null;o?s=n.map((e=>createSelectionChange(e,!0))):(s=getSelectionChanges(r,n),a=getSelectionChanges(i(),[])),updateNodesAndEdgesSelections({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{const{edges:r,getNodes:i}=t(),s=o||r;updateNodesAndEdgesSelections({changedNodes:(n||i()).map((e=>(e.selected=!1,createSelectionChange(e.id,!1)))),changedEdges:s.map((e=>createSelectionChange(e.id,!1))),get:t,set:e})},setMinZoom:n=>{const{d3Zoom:o,maxZoom:r}=t();o?.scaleExtent([n,r]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:o,minZoom:r}=t();o?.scaleExtent([r,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:o}=t();updateNodesAndEdgesSelections({changedNodes:o().filter((e=>e.selected)).map((e=>createSelectionChange(e.id,!1))),changedEdges:n.filter((e=>e.selected)).map((e=>createSelectionChange(e.id,!1))),get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:o}=t();o.forEach((e=>{e.positionAbsolute=clampPosition(e.position,n)})),e({nodeExtent:n,nodeInternals:new Map(o)})},panBy:e=>{const{transform:n,width:o,height:r,d3Zoom:i,d3Selection:s,translateExtent:a}=t();if(!i||!s||!e.x&&!e.y)return;const l=identity.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),c=[[0,0],[o,r]],u=i?.constrain()(l,c,a);i.transform(s,u)},cancelConnection:()=>e({connectionNodeId:initialState.connectionNodeId,connectionHandleId:initialState.connectionHandleId,connectionHandleType:initialState.connectionHandleType,connectionStatus:initialState.connectionStatus}),reset:()=>e({...initialState})}))),ReactFlowProvider=({children:e})=>{const t=require$$0.useRef(null);return t.current||(t.current=createRFStore()),jsxRuntime.exports.jsx(Provider$1,{value:t.current,children:e})};ReactFlowProvider.displayName="ReactFlowProvider";const Wrapper=({children:e})=>require$$0.useContext(StoreContext)?jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:e}):jsxRuntime.exports.jsx(ReactFlowProvider,{children:e});function useNodeOrEdgeTypes(e,t){require$$0.useRef(null);return require$$0.useMemo((()=>t(e)),[e])}Wrapper.displayName="ReactFlowWrapper";const defaultNodeTypes={input:InputNode$1,default:DefaultNode$1,output:OutputNode$1,group:GroupNode},defaultEdgeTypes={default:BezierEdge,straight:StraightEdge,step:StepEdge,smoothstep:SmoothStepEdge,simplebezier:SimpleBezierEdge},initNodeOrigin=[0,0],initSnapGrid=[15,15],initDefaultViewport={x:0,y:0,zoom:1},wrapperStyle={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},ReactFlow=require$$0.forwardRef((({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i=defaultNodeTypes,edgeTypes:s=defaultEdgeTypes,onNodeClick:a,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:d,onMoveEnd:h,onConnect:p,onConnectStart:g,onConnectEnd:f,onClickConnectStart:m,onClickConnectEnd:y,onNodeMouseEnter:x,onNodeMouseMove:S,onNodeMouseLeave:v,onNodeContextMenu:b,onNodeDoubleClick:w,onNodeDragStart:_,onNodeDrag:E,onNodeDragStop:C,onNodesDelete:N,onEdgesDelete:$,onSelectionChange:M,onSelectionDragStart:R,onSelectionDrag:P,onSelectionDragStop:k,onSelectionContextMenu:A,onSelectionStart:D,onSelectionEnd:I,connectionMode:j=ConnectionMode.Strict,connectionLineType:O=ConnectionLineType.Bezier,connectionLineStyle:T,connectionLineComponent:B,connectionLineContainerStyle:z,deleteKeyCode:H="Backspace",selectionKeyCode:L="Shift",selectionOnDrag:q=!1,selectionMode:F=SelectionMode.Full,panActivationKeyCode:V="Space",multiSelectionKeyCode:U="Meta",zoomActivationKeyCode:Y="Meta",snapToGrid:X=!1,snapGrid:K=initSnapGrid,onlyRenderVisibleElements:W=!1,selectNodesOnDrag:Z=!0,nodesDraggable:G,nodesConnectable:J,nodesFocusable:Q,nodeOrigin:ee=initNodeOrigin,edgesFocusable:te,elementsSelectable:ne,defaultViewport:oe=initDefaultViewport,minZoom:re=.5,maxZoom:ie=2,translateExtent:se=infiniteExtent,preventScrolling:ae=!0,nodeExtent:le,defaultMarkerColor:ce="#b1b1b7",zoomOnScroll:ue=!0,zoomOnPinch:de=!0,panOnScroll:he=!1,panOnScrollSpeed:pe=.5,panOnScrollMode:ge=PanOnScrollMode.Free,zoomOnDoubleClick:fe=!0,panOnDrag:me=!0,onPaneClick:ye,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:ve,onPaneScroll:be,onPaneContextMenu:we,children:_e,onEdgeUpdate:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Ne,onEdgeMouseEnter:$e,onEdgeMouseMove:Me,onEdgeMouseLeave:Re,onEdgeUpdateStart:Pe,onEdgeUpdateEnd:ke,edgeUpdaterRadius:Ae=10,onNodesChange:De,onEdgesChange:Ie,noDragClassName:je="nodrag",noWheelClassName:Oe="nowheel",noPanClassName:Te="nopan",fitView:Be=!1,fitViewOptions:ze,connectOnClick:He=!0,attributionPosition:Le,proOptions:qe,defaultEdgeOptions:Fe,elevateNodesOnSelect:Ve=!0,elevateEdgesOnSelect:Ue=!1,disableKeyboardA11y:Ye=!1,autoPanOnConnect:Xe=!0,autoPanOnNodeDrag:Ke=!0,connectionRadius:We=20,onError:Ze,style:Ge,id:Je,...Qe},et)=>{const tt=useNodeOrEdgeTypes(i,createNodeTypes),nt=useNodeOrEdgeTypes(s,createEdgeTypes),ot=Je||"1";return jsxRuntime.exports.jsx("div",{...Qe,style:{...Ge,...wrapperStyle},ref:et,className:cc(["react-flow",r]),"data-testid":"rf__wrapper",id:Je,children:jsxRuntime.exports.jsxs(Wrapper,{children:[jsxRuntime.exports.jsx(GraphView$1,{onInit:c,onMove:u,onMoveStart:d,onMoveEnd:h,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:x,onNodeMouseMove:S,onNodeMouseLeave:v,onNodeContextMenu:b,onNodeDoubleClick:w,nodeTypes:tt,edgeTypes:nt,connectionLineType:O,connectionLineStyle:T,connectionLineComponent:B,connectionLineContainerStyle:z,selectionKeyCode:L,selectionOnDrag:q,selectionMode:F,deleteKeyCode:H,multiSelectionKeyCode:U,panActivationKeyCode:V,zoomActivationKeyCode:Y,onlyRenderVisibleElements:W,selectNodesOnDrag:Z,defaultViewport:oe,translateExtent:se,minZoom:re,maxZoom:ie,preventScrolling:ae,zoomOnScroll:ue,zoomOnPinch:de,zoomOnDoubleClick:fe,panOnScroll:he,panOnScrollSpeed:pe,panOnScrollMode:ge,panOnDrag:me,onPaneClick:ye,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:ve,onPaneScroll:be,onPaneContextMenu:we,onSelectionContextMenu:A,onSelectionStart:D,onSelectionEnd:I,onEdgeUpdate:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Ne,onEdgeMouseEnter:$e,onEdgeMouseMove:Me,onEdgeMouseLeave:Re,onEdgeUpdateStart:Pe,onEdgeUpdateEnd:ke,edgeUpdaterRadius:Ae,defaultMarkerColor:ce,noDragClassName:je,noWheelClassName:Oe,noPanClassName:Te,elevateEdgesOnSelect:Ue,rfId:ot,disableKeyboardA11y:Ye,nodeOrigin:ee,nodeExtent:le}),jsxRuntime.exports.jsx(StoreUpdater,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:p,onConnectStart:g,onConnectEnd:f,onClickConnectStart:m,onClickConnectEnd:y,nodesDraggable:G,nodesConnectable:J,nodesFocusable:Q,edgesFocusable:te,elementsSelectable:ne,elevateNodesOnSelect:Ve,minZoom:re,maxZoom:ie,nodeExtent:le,onNodesChange:De,onEdgesChange:Ie,snapToGrid:X,snapGrid:K,connectionMode:j,translateExtent:se,connectOnClick:He,defaultEdgeOptions:Fe,fitView:Be,fitViewOptions:ze,onNodesDelete:N,onEdgesDelete:$,onNodeDragStart:_,onNodeDrag:E,onNodeDragStop:C,onSelectionDrag:P,onSelectionDragStart:R,onSelectionDragStop:k,noPanClassName:Te,nodeOrigin:ee,rfId:ot,autoPanOnConnect:Xe,autoPanOnNodeDrag:Ke,onError:Ze,connectionRadius:We}),jsxRuntime.exports.jsx(Wrapper$1,{onSelectionChange:M}),_e,jsxRuntime.exports.jsx(Attribution,{proOptions:qe,position:Le}),jsxRuntime.exports.jsx(A11yDescriptions,{rfId:ot,disableKeyboardA11y:Ye})]})})}));ReactFlow.displayName="ReactFlow";const MiniMapNode=({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:a,strokeWidth:l,className:c,borderRadius:u,shapeRendering:d,onClick:h})=>{const{background:p,backgroundColor:g}=i||{},f=s||p||g;return jsxRuntime.exports.jsx("rect",{className:cc(["react-flow__minimap-node",c]),x:t,y:n,rx:u,ry:u,width:o,height:r,fill:f,stroke:a,strokeWidth:l,shapeRendering:d,onClick:h?t=>h(t,e):void 0})};MiniMapNode.displayName="MiniMapNode";var MiniMapNode$1=require$$0.memo(MiniMapNode);const defaultWidth=200,defaultHeight=150,selector$1=e=>{const t=e.getNodes(),n={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{nodes:t.filter((e=>!e.hidden&&e.width&&e.height)),viewBB:n,boundingRect:t.length>0?getBoundsOfRects(getRectOfNodes(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},getAttrFunction=e=>e instanceof Function?e:()=>e,ARIA_LABEL_KEY="react-flow__minimap-desc";function MiniMap({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:o="#e2e2e2",nodeClassName:r="",nodeBorderRadius:i=5,nodeStrokeWidth:s=2,maskColor:a="rgb(240, 240, 240, 0.6)",maskStrokeColor:l="none",maskStrokeWidth:c=1,position:u="bottom-right",onClick:d,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:f="React Flow mini map"}){const m=useStoreApi(),y=require$$0.useRef(null),{boundingRect:x,viewBB:S,nodes:v,rfId:b,nodeOrigin:w}=useStore(selector$1,shallow),_=e?.width??defaultWidth,E=e?.height??defaultHeight,C=getAttrFunction(o),N=getAttrFunction(n),$=getAttrFunction(r),M=x.width/_,R=x.height/E,P=Math.max(M,R),k=P*_,A=P*E,D=5*P,I=x.x-(k-x.width)/2-D,j=x.y-(A-x.height)/2-D,O=k+2*D,T=A+2*D,B="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision",z=`${ARIA_LABEL_KEY}-${b}`,H=require$$0.useRef(0);H.current=P,require$$0.useEffect((()=>{if(y.current){const e=select(y.current),t=e=>{const{transform:t,d3Selection:n,d3Zoom:o}=m.getState();if("wheel"!==e.sourceEvent.type||!n||!o)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*10,i=t[2]*Math.pow(2,r);o.scaleTo(n,i)},n=e=>{const{transform:t,d3Selection:n,d3Zoom:o,translateExtent:r,width:i,height:s}=m.getState();if("mousemove"!==e.sourceEvent.type||!n||!o)return;const a={x:t[0]-e.sourceEvent.movementX*H.current*Math.max(1,t[2]),y:t[1]-e.sourceEvent.movementY*H.current*Math.max(1,t[2])},l=[[0,0],[i,s]],c=identity.translate(a.x,a.y).scale(t[2]),u=o.constrain()(c,l,r);o.transform(n,u)},o=zoom().on("zoom",p?n:null).on("zoom.wheel",g?t:null);return e.call(o),()=>{e.on("zoom",null)}}}),[p,g]);const L=d?e=>{const t=pointer(e);d(e,{x:t[0],y:t[1]})}:void 0,q=h?(e,t)=>{const n=m.getState().nodeInternals.get(t);h(e,n)}:void 0;return jsxRuntime.exports.jsx(Panel,{position:u,style:e,className:cc(["react-flow__minimap",t]),children:jsxRuntime.exports.jsxs("svg",{width:_,height:E,viewBox:`${I} ${j} ${O} ${T}`,role:"img","aria-labelledby":z,ref:y,onClick:L,children:[f&&jsxRuntime.exports.jsx("title",{id:z,children:f}),v.map((e=>{const{x:t,y:n}=getNodePositionWithOrigin(e,w).positionAbsolute;return jsxRuntime.exports.jsx(MiniMapNode$1,{x:t,y:n,width:e.width,height:e.height,style:e.style,className:$(e),color:C(e),borderRadius:i,strokeColor:N(e),strokeWidth:s,shapeRendering:B,onClick:q,id:e.id},e.id)})),jsxRuntime.exports.jsx("path",{className:"react-flow__minimap-mask",d:`M${I-D},${j-D}h${O+2*D}v${T+2*D}h${-O-2*D}z\n M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fill:a,fillRule:"evenodd",stroke:l,strokeWidth:c,pointerEvents:"none"})]})})}function PlusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:jsxRuntime.exports.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function MinusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:jsxRuntime.exports.jsx("path",{d:"M0 0h32v4.2H0z"})})}function FitViewIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:jsxRuntime.exports.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 LockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.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 UnlockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.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"})})}MiniMap.displayName="MiniMap",require$$0.memo(MiniMap);const ControlButton=({children:e,className:t,...n})=>jsxRuntime.exports.jsx("button",{type:"button",className:cc(["react-flow__controls-button",t]),...n,children:e});ControlButton.displayName="ControlButton";const isInteractiveSelector=e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable,Controls=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:a,onInteractiveChange:l,className:c,children:u,position:d="bottom-left"})=>{const h=useStoreApi(),[p,g]=require$$0.useState(!1),f=useStore(isInteractiveSelector),{zoomIn:m,zoomOut:y,fitView:x}=useReactFlow();if(require$$0.useEffect((()=>{g(!0)}),[]),!p)return null;return jsxRuntime.exports.jsxs(Panel,{className:cc(["react-flow__controls",c]),position:d,style:e,children:[t&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{m(),i?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:jsxRuntime.exports.jsx(PlusIcon,{})}),jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{y(),s?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:jsxRuntime.exports.jsx(MinusIcon,{})})]}),n&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-fitview",onClick:()=>{x(r),a?.()},title:"fit view","aria-label":"fit view",children:jsxRuntime.exports.jsx(FitViewIcon,{})}),o&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),l?.(!f)},title:"toggle interactivity","aria-label":"toggle interactivity",children:f?jsxRuntime.exports.jsx(UnlockIcon,{}):jsxRuntime.exports.jsx(LockIcon,{})}),u]})};Controls.displayName="Controls";var Controls$1=require$$0.memo(Controls),BackgroundVariant;function LinePattern({color:e,dimensions:t,lineWidth:n}){return jsxRuntime.exports.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function DotPattern({color:e,radius:t}){return jsxRuntime.exports.jsx("circle",{cx:t,cy:t,r:t,fill:e})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(BackgroundVariant||(BackgroundVariant={}));const defaultColor={[BackgroundVariant.Dots]:"#91919a",[BackgroundVariant.Lines]:"#eee",[BackgroundVariant.Cross]:"#e2e2e2"},defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6},selector=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Background({variant:e=BackgroundVariant.Dots,gap:t=20,size:n,lineWidth:o=1,color:r,style:i,className:s}){const a=require$$0.useRef(null),{transform:l,patternId:c}=useStore(selector,shallow),u=r||defaultColor[e],d=n||defaultSize[e],h=e===BackgroundVariant.Dots,p=e===BackgroundVariant.Cross,g=Array.isArray(t)?t:[t,t],f=[g[0]*l[2]||1,g[1]*l[2]||1],m=d*l[2],y=p?[m,m]:f,x=h?[m/2,m/2]:[y[0]/2,y[1]/2];return jsxRuntime.exports.jsxs("svg",{className:cc(["react-flow__background",s]),style:{...i,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:a,children:[jsxRuntime.exports.jsx("pattern",{id:c,x:l[0]%f[0],y:l[1]%f[1],width:f[0],height:f[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${x[0]},-${x[1]})`,children:h?jsxRuntime.exports.jsx(DotPattern,{color:u,radius:m/2}):jsxRuntime.exports.jsx(LinePattern,{dimensions:y,color:u,lineWidth:o})}),jsxRuntime.exports.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${c})`})]})}Background.displayName="Background";var Background$1=require$$0.memo(Background),freeGlobal$1="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$1=freeGlobal||freeSelf||Function("return this")(),_root=root$1,root=_root,Symbol$3=root.Symbol,_Symbol=Symbol$3,Symbol$2=_Symbol;Symbol$2&&Symbol$2.toStringTag;var Symbol$1=_Symbol;Symbol$1&&Symbol$1.toStringTag;var funcProto=Function.prototype,funcToString=funcProto.toString;funcToString.call(Object);const getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context?Builder.settings.context:Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const n={"Content-Type":"application/json"},o=getAuthorization();o&&(n.Authorization=o),t.headers=Object.assign({},n,t.headers),t.credentials="include";const r=await fetch(`${getRootUrl()}${e}`,t);if(401===r.status)throw new Error(401);const i=await r.json();if(i.errors)throw console.error(i.errors),new Error("Failed to fetch API");return i}function getAuthorization(){try{const e=getBuilderContext();let t=e.tenantId,n=e.authToken;return t&&n?`Bearer ${t},${n}`:null}catch(e){console.error(e)}}function getUserId(){try{let e=getBuilderContext().userId;return e||null}catch(e){console.error(e)}}function getRootUrl(e){const t=getBuilderContext();if(t.rootUrl)return t.rootUrl;const n="undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"";return n||e}let UI_SCHEMA_CACHE={},UISchemaFunction;"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE);const setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t},getUISchemaCache=e=>___default.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>___default.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let n=[];return n="SMALL"===t?___default.isEmpty(e.mobile_columns)?___default.slice(e.columns,0,4):e.mobile_columns:e.columns,n}function getListViewSort(e){let t="";return e&&e.sort&&e.sort.length&&___default.each(e.sort,(function(e,n){if(___default.isArray(e)){let o=e[0]+" "+(e[1]||"");o=n>0?","+o:o,t+=o}else{let o=e.field_name+" "+e.order;o=n>0?","+o:o,t+=o}})),t}function getListViewFilter(e){if(e)try{const t=getUserId();let n=e.filters;if("mine"===e.filter_scope)if(___default__default.default.isEmpty(n))n=[["owner","=",t]];else{if(___default__default.default.isString(n)&&___default__default.default.startsWith(___default__default.default.trim(n),"function")&&(n=new Function(`return ${n}`),n=n()),!___default__default.default.isArray(n))throw console.debug("listView filters is not array",e),new Error("filters is not array");n.push(["owner","=",t])}return n}catch(e){console.error(e)}}function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema),___default.each(uiSchema.fields,(field=>{try{"lookup"===field.type&&field._reference_to&&___default__default.default.isString(field._reference_to)&&(field.reference_to=eval(`(${field._reference_to})`)())}catch(e){field.reference_to=void 0,console.error(e)}})),___default.each(uiSchema.list_views,((e,t)=>{e.name=t,___default.has(e,"columns")||(e.columns=uiSchema.list_views.all.columns)}))}async function getUISchema(e,t){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let n=null;try{if(UISchemaFunction);else{const t=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;n=await fetchAPI(t,{method:"get"})}if(!n)return;formatUISchemaCache(e,n)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}function getUISchemaSync(e,t){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let n=null;try{const t=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;if(n=Steedos.authRequest(t,{type:"GET",async:!1}),!n)return;formatUISchemaCache(e,n)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}async function getListSchema(e,t,n,o={}){const r=await getUISchema(t),i=___default.find(r.list_views,((e,t)=>(n||(n=t),t===n||e._id===n)));if(!i)return{uiSchema:r};if(i.enable_amis_schema&&i.amis_schema){return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:___default.isString(i.amis_schema)?JSON.parse(i.amis_schema):i.amis_schema}}let s=getListViewColumns(i,o.formFactor),a=getListViewSort(i),l=getListViewFilter(i),c=i&&i._filters;if("calendar"===i.type){return{uiSchema:r,isCalendar:!0,amisSchema:{type:"steedos-object-calendar",objectApiName:t,filters:l,filtersFunction:c,sort:a,...i.options}}}const u=o.defaults||{};u.headerSchema=null;try{const e=location.pathname+"/crud/"+o.listViewId;let t=sessionStorage.getItem(e);if(t){t=JSON.parse(t);let e={};t.orderBy&&(e.orderBy=t.orderBy),t.orderDir&&(e.orderDir=t.orderDir),u.listSchema=___default.defaultsDeep({},e,u.listSchema||{})}}catch(e){console.error("本地存储中crud参数解析异常:",e)}o.defaults=u;return{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:s,extraColumns:i.extra_columns,filters:l,filtersFunction:c,sort:a,ctx:o,requestAdaptor:i.requestAdaptor,adaptor:i.adaptor,headerToolbarItems:o.headerToolbarItems,filterVisible:o.filterVisible}}}"undefined"!=typeof window&&(window.getUISchema=getUISchema,window.getUISchemaSync=getUISchemaSync,window.getListSchema=getListSchema);var AmisReactFlow=function(e){e.dispatchEvent;var t=e.wrapperClassName,n=e.data;e.env,e.store,e.topStore,e.rootStore,e.scope,e.id,e.render,e.getValue,e.setValue,e.value;var o=e.config,r=__rest(e,["dispatchEvent","wrapperClassName","data","env","store","topStore","rootStore","scope","id","render","getValue","setValue","value","config"]),i={};if("string"==typeof o)try{i=JSON.parse(o)}catch(e){console.log(e)}"object"==typeof o&&(i=o);var s=r.onDataFilter,a=r.dataFilter;s||"string"!=typeof a||(s=new Function("config","ReactFlow","data",a));try{s&&(i=s(i,window.ReactFlow,n)||i)}catch(e){console.warn(e)}return require$$0__default.default.createElement("div",{className:t},require$$0__default.default.createElement(ReactFlow,__assign({},i),require$$0__default.default.createElement(Background$1,null),require$$0__default.default.createElement(Controls$1,null)))};"undefined"==typeof window&&(window.ReactFlow=ReactFlow),exports.AmisReactFlow=AmisReactFlow,exports.ReactFlow=ReactFlow,Object.defineProperty(exports,"__esModule",{value:!0})}));