@wrongstack/webui 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AgentRosterView-Cat9dDuY.js +12 -0
- package/dist/assets/AnalyticsDashboard-BAC5fpQO.js +1 -0
- package/dist/assets/AudienceMemoryPanel-BOaFRWeR.js +3 -0
- package/dist/assets/ChangesView-D0oqt9WQ.js +1 -0
- package/dist/assets/ChimeraReviewsView-xYqbuZGK.js +1 -0
- package/dist/assets/ChronicleDashboard-BDaOO8qg.js +1 -0
- package/dist/assets/CodeEditor-BgJIgzjz.js +2 -0
- package/dist/assets/CodeMap-D47WG8ZE.js +1 -0
- package/dist/assets/CronJobsPanel-oxmSB2ni.js +1 -0
- package/dist/assets/{DeadCodeScanPanel-CSr2alPo.js → DeadCodeScanPanel-DAOBcPPB.js} +1 -1
- package/dist/assets/{DebugDashboard-Ctw40UDW.js → DebugDashboard-P6-449d1.js} +1 -1
- package/dist/assets/DesignGalleryView-BUYdq9xj.js +1 -0
- package/dist/assets/GoalView-DfVrI8Br.js +1 -0
- package/dist/assets/KanbanView-DYzC0SvN.js +3 -0
- package/dist/assets/MailboxDetailView-CidOf8tE.js +1 -0
- package/dist/assets/MemoryDrawer-D2iiRUm3.js +1 -0
- package/dist/assets/MemoryManager-ajwrcppd.js +1 -0
- package/dist/assets/ProcessMonitor-D4q3YZ99.js +1 -0
- package/dist/assets/PromptJournalView-BRTW81Ev.js +1 -0
- package/dist/assets/QueuePanel--kMl1y82.js +1 -0
- package/dist/assets/RefreshDebugView-Dty8h6nr.js +1 -0
- package/dist/assets/RepositoryHistoryView-DGlHg9K7.js +2 -0
- package/dist/assets/{RequirementIntakeView-BkztR0C2.js → RequirementIntakeView-DXimEE5N.js} +1 -1
- package/dist/assets/SageTabs-DC4wv_Gu.js +2 -0
- package/dist/assets/{SddFlowGraph-dcuamshO.js → SddFlowGraph-BNd4F2pW.js} +1 -1
- package/dist/assets/SddHub-Dfsg4kpC.js +2 -0
- package/dist/assets/SessionInspectView-CFKKgcpn.js +1 -0
- package/dist/assets/SessionList-C_5GxI2E.js +1 -0
- package/dist/assets/SessionsDashboard-yTvoFIQH.js +1 -0
- package/dist/assets/SetupScreen-BCgcO4L-.js +1 -0
- package/dist/assets/SkillDetailView-BZ-xB1C6.js +3 -0
- package/dist/assets/TechStackView-DPmmgBtE.js +2 -0
- package/dist/assets/TerminalPanel-Cjineyx0.js +1 -0
- package/dist/assets/{activity-KXlU1-QD.js → activity-B6W4JEPC.js} +6 -6
- package/dist/assets/{activity-ClXUH80G.js → activity-BYWZhxvD.js} +6 -6
- package/dist/assets/{activity-B9cZQdVv.js → activity-C2ThLEx6.js} +6 -6
- package/dist/assets/{activity-ByjzcTzj.js → activity-Co3aH0eV.js} +6 -6
- package/dist/assets/{activity-DBsqMkAC.js → activity-D8QpThnB.js} +6 -6
- package/dist/assets/{activity-PRYzlsxa.js → activity-DBzijhvU.js} +6 -6
- package/dist/assets/{activity-DFMEXTAP.js → activity-DaNFfhdh.js} +6 -6
- package/dist/assets/{button-Bv5PYkY5.js → button-CN_h6kNT.js} +1 -1
- package/dist/assets/chat-store-Dl3XHXs8.js +1 -0
- package/dist/assets/codemap-activity-store-RqE4L9Os.js +1 -0
- package/dist/assets/common-5rSj2oHt.js +1 -0
- package/dist/assets/common-B5Uslzr2.js +1 -0
- package/dist/assets/common-BnhmJl6b.js +1 -0
- package/dist/assets/{common-BBHmIHQW.js → common-CmkkiJUR.js} +1 -1
- package/dist/assets/common-CpZ-DoXd.js +1 -0
- package/dist/assets/common-Ct-Iodid.js +1 -0
- package/dist/assets/common-D9w3BalB.js +1 -0
- package/dist/assets/config-store-Dq6MhrIA.js +22 -0
- package/dist/assets/{dialog-DyGu9hTX.js → dialog-DNsBc-EF.js} +1 -1
- package/dist/assets/{empty-state-Dy__H8vX.js → empty-state-BFPCt03_.js} +1 -1
- package/dist/assets/i18n-CRIAwjnX.js +3 -0
- package/dist/assets/index-BI1MMjfc.js +170 -0
- package/dist/assets/index-DO49jK02.css +1 -0
- package/dist/assets/{input-DdFYcw53.js → input-BnTFqRjn.js} +1 -1
- package/dist/assets/mailbox-store-CV5--Nmh.js +1 -0
- package/dist/assets/{markdown-BzXmcdZg.js → markdown-BzOXYqOo.js} +2 -2
- package/dist/assets/{monaco-LhToOuuW.js → monaco-COtIgMfE.js} +4 -4
- package/dist/assets/{monaco-theme-BOzs6u2L.js → monaco-theme-ruX2YdTu.js} +1 -1
- package/dist/assets/react-core-wiHys0m2.js +9 -0
- package/dist/assets/roster-ws-BviY2gOb.js +1 -0
- package/dist/assets/{shared-hOwESeA9.js → shared-h0I65HLY.js} +1 -1
- package/dist/assets/stores-BOo4b1ZG.js +7 -0
- package/dist/assets/{ts.worker-Dj4vg72D.js → ts.worker-9_CJKYKz.js} +16 -16
- package/dist/assets/ui-store-D2CzZVyU.js +1 -0
- package/dist/assets/utils-sO9lidp6.js +1 -0
- package/dist/assets/{vector-memory-panel-BK3Q4TEg.js → vector-memory-panel-BtQElVO4.js} +1 -1
- package/dist/assets/{vendor-CkMYDhDf.js → vendor-Cvuk-OYN.js} +27 -27
- package/dist/assets/view-navigation-Ca7VJMhX.js +1 -0
- package/dist/assets/{xyflow-BlkaZTzI.js → xyflow-BqDBClm9.js} +1 -1
- package/dist/components/ConfirmDialog.d.ts +4 -0
- package/dist/components/activity-bar/index.d.ts +29 -1
- package/dist/hooks/useDesktopBridge.d.ts +3 -1
- package/dist/hooks/ws-handlers/chat-handlers.d.ts +1 -0
- package/dist/index.html +19 -14
- package/dist/index.js +8121 -7670
- package/dist/lib/desktop-host.d.ts +3 -0
- package/dist/lib/ws-client.d.ts +4 -4
- package/dist/stores/chat-lanes.d.ts +1 -0
- package/dist/stores/ui-store-types.d.ts +17 -0
- package/dist/types/runtime.d.ts +11 -0
- package/dist/types/server-message.d.ts +2 -2
- package/package.json +9 -9
- package/dist/assets/AgentRosterView-CoD9SgNh.js +0 -12
- package/dist/assets/AnalyticsDashboard-SAH8yxTa.js +0 -1
- package/dist/assets/AudienceMemoryPanel-C_JHPr_q.js +0 -3
- package/dist/assets/ChangesView-BRdNlV9e.js +0 -1
- package/dist/assets/ChimeraReviewsView-B8ecsRM9.js +0 -1
- package/dist/assets/ChronicleDashboard-B2qq4Ax7.js +0 -1
- package/dist/assets/CodeEditor-B-zhjWYw.js +0 -2
- package/dist/assets/CodeMap-BgOJwRYK.js +0 -1
- package/dist/assets/CronJobsPanel-CsbjBcuL.js +0 -1
- package/dist/assets/DesignGalleryView-DFMq7qzt.js +0 -1
- package/dist/assets/GoalView-CHO3i5LQ.js +0 -1
- package/dist/assets/KanbanView-DxCgCuzq.js +0 -3
- package/dist/assets/MailboxDetailView-CjOZymFt.js +0 -1
- package/dist/assets/MemoryDrawer-DlTa24j0.js +0 -1
- package/dist/assets/MemoryManager-BvhuaBnp.js +0 -1
- package/dist/assets/ProcessMonitor-BB1j59e7.js +0 -1
- package/dist/assets/PromptJournalView-BxhsHl73.js +0 -1
- package/dist/assets/QueuePanel-SirB3W9f.js +0 -1
- package/dist/assets/RefreshDebugView-DVUmjUXS.js +0 -1
- package/dist/assets/RepositoryHistoryView-Cr-UBUel.js +0 -2
- package/dist/assets/SageTabs-Bb04xdXQ.js +0 -2
- package/dist/assets/SddHub-E6nNmKTl.js +0 -2
- package/dist/assets/SessionInspectView-M3HH5k-z.js +0 -1
- package/dist/assets/SessionList-BkRdBhqJ.js +0 -1
- package/dist/assets/SessionsDashboard-BW_sONY5.js +0 -1
- package/dist/assets/SetupScreen-CoQOGYNC.js +0 -1
- package/dist/assets/SkillDetailView-3YHXo_2F.js +0 -3
- package/dist/assets/TechStackView-Bs8OpeDl.js +0 -2
- package/dist/assets/TerminalPanel-Mv04uw-A.js +0 -1
- package/dist/assets/common-C3PzxyXg.js +0 -1
- package/dist/assets/common-CUWL8eNX.js +0 -1
- package/dist/assets/common-CvSB5NM3.js +0 -1
- package/dist/assets/common-DT2FL9xN.js +0 -1
- package/dist/assets/common-DuR5FTPN.js +0 -1
- package/dist/assets/common-xPePelft.js +0 -1
- package/dist/assets/i18n-CEYnEdVi.js +0 -2
- package/dist/assets/index-VSjrOYGx.css +0 -1
- package/dist/assets/index-r9OdFrxf.js +0 -176
- package/dist/assets/react-core-D0Ec-185.js +0 -9
- package/dist/assets/roster-ws-BDcOlcE2.js +0 -1
- package/dist/assets/ui-store-vtaLeTKu.js +0 -1
- package/dist/assets/utils-YeTxmVPQ.js +0 -1
- package/dist/assets/ws-client-BG2ZSPmv.js +0 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./ui-store-D2CzZVyU.js";var t=(()=>{try{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)}catch{return!1}})(),n=t?`⌘`:`Ctrl`,r=t?`⌥`:`Alt`,i=t?`⇧`:`Shift`;function a(e){switch(e){case`Ctrl`:return n;case`Alt`:return r;case`Shift`:return i;default:return e}}var o={chat:`chat`,agents:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skills:`skill`,design:`design-gallery`},s={chat:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skill:`skills`,"design-gallery":`design`},c={1:`chat`,2:`files`,3:`changes`,4:`mailbox`,5:`skills`,0:`design`},l=Object.entries(c).reduce((e,[t,r])=>(e[r]=`${n}+${t}`,e),{chat:``,agents:``,files:``,changes:``,mailbox:``,skills:``,design:``});function u(e){return o[e]??`chat`}function d(e){return l[e]??``}function f(t){let n=e.getState();n.currentView!==t&&n.setCurrentView(t)}function p(t){let n=e.getState();n.setSidebarOpen(!0),n.selectActivity(t),f(u(t))}function m(t){let n=e.getState();if(!n.sidebarOpen)n.setSidebarOpen(!0),n.selectActivity(t);else if(n.activeActivity===t){n.setSidebarOpen(!1);return}else n.activeActivity===`agents`&&n.setSidebarOpen(!0),n.selectActivity(t);f(u(t))}function h(t){let n=e.getState();if(n.currentView===t){p(`chat`);return}n.setSidebarOpen(!1),f(t)}function g(t){let n=s[t];if(n){p(n);return}e.getState().setSidebarOpen(!1),f(t)}export{d as a,m as i,g as n,p as o,h as r,a as s,c as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{i as n,r,t as i}from"./react-core-D0Ec-185.js";var a=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),o=t(((e,t)=>{t.exports=a()})),s=e(n(),1),c=i();function l(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=l(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var u={value:()=>{}};function d(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new f(n)}function f(e){this._=e}function p(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}f.prototype=d.prototype={constructor:f,on:function(e,t){var n=this._,r=p(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=m(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=h(n[i],e.name,t);else if(t==null)for(i in n)n[i]=h(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new f(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function m(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function h(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=u,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var g={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function _(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),g.hasOwnProperty(t)?{space:g[t],local:e}:e}function v(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function y(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function b(e){var t=_(e);return(t.local?y:v)(t)}function x(){}function S(e){return e==null?x:function(){return this.querySelector(e)}}function C(e){typeof e!=`function`&&(e=S(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new G(r,this._parents)}function w(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function T(){return[]}function E(e){return e==null?T:function(){return this.querySelectorAll(e)}}function D(e){return function(){return w(e.apply(this,arguments))}}function O(e){e=typeof e==`function`?D(e):E(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new G(r,i)}function k(e){return function(){return this.matches(e)}}function A(e){return function(t){return t.matches(e)}}var j=Array.prototype.find;function M(e){return function(){return j.call(this.children,e)}}function N(){return this.firstElementChild}function P(e){return this.select(e==null?N:M(typeof e==`function`?e:A(e)))}var F=Array.prototype.filter;function I(){return Array.from(this.children)}function L(e){return function(){return F.call(this.children,e)}}function R(e){return this.selectAll(e==null?I:L(typeof e==`function`?e:A(e)))}function z(e){typeof e!=`function`&&(e=k(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new G(r,this._parents)}function B(e){return Array(e.length)}function V(){return new G(this._enter||this._groups.map(B),this._parents)}function H(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}H.prototype={constructor:H,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)}};function ee(e){return function(){return e}}function U(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new H(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function W(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new H(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function te(e){return e.__data__}function ne(e,t){if(!arguments.length)return Array.from(this,te);var n=t?W:U,r=this._parents,i=this._groups;typeof e!=`function`&&(e=ee(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=re(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new G(o,r),o._enter=s,o._exit=c,o}function re(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ie(){return new G(this._exit||this._groups.map(B),this._parents)}function ae(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function oe(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new G(s,this._parents)}function se(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ce(e){e||=le;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new G(i,this._parents).order()}function le(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ue(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function de(){return Array.from(this)}function fe(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function pe(){let e=0;for(let t of this)++e;return e}function me(){return!this.node()}function he(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function ge(e){return function(){this.removeAttribute(e)}}function _e(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ve(e,t){return function(){this.setAttribute(e,t)}}function ye(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function be(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function xe(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Se(e,t){var n=_(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?_e:ge:typeof t==`function`?n.local?xe:be:n.local?ye:ve)(n,t))}function Ce(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function we(e){return function(){this.style.removeProperty(e)}}function Te(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Ee(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function De(e,t,n){return arguments.length>1?this.each((t==null?we:typeof t==`function`?Ee:Te)(e,t,n??``)):Oe(this.node(),e)}function Oe(e,t){return e.style.getPropertyValue(t)||Ce(e).getComputedStyle(e,null).getPropertyValue(t)}function ke(e){return function(){delete this[e]}}function Ae(e,t){return function(){this[e]=t}}function je(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Me(e,t){return arguments.length>1?this.each((t==null?ke:typeof t==`function`?je:Ae)(e,t)):this.node()[e]}function Ne(e){return e.trim().split(/^|\s+/)}function Pe(e){return e.classList||new Fe(e)}function Fe(e){this._node=e,this._names=Ne(e.getAttribute(`class`)||``)}Fe.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}};function Ie(e,t){for(var n=Pe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Le(e,t){for(var n=Pe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Re(e){return function(){Ie(this,e)}}function ze(e){return function(){Le(this,e)}}function Be(e,t){return function(){(t.apply(this,arguments)?Ie:Le)(this,e)}}function Ve(e,t){var n=Ne(e+``);if(arguments.length<2){for(var r=Pe(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Be:t?Re:ze)(n,t))}function He(){this.textContent=``}function Ue(e){return function(){this.textContent=e}}function We(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Ge(e){return arguments.length?this.each(e==null?He:(typeof e==`function`?We:Ue)(e)):this.node().textContent}function Ke(){this.innerHTML=``}function qe(e){return function(){this.innerHTML=e}}function Je(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Ye(e){return arguments.length?this.each(e==null?Ke:(typeof e==`function`?Je:qe)(e)):this.node().innerHTML}function Xe(){this.nextSibling&&this.parentNode.appendChild(this)}function Ze(){return this.each(Xe)}function Qe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $e(){return this.each(Qe)}function et(e){var t=typeof e==`function`?e:b(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function tt(){return null}function nt(e,t){var n=typeof e==`function`?e:b(e),r=t==null?tt:typeof t==`function`?t:S(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function rt(){var e=this.parentNode;e&&e.removeChild(this)}function it(){return this.each(rt)}function at(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ot(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function st(e){return this.select(e?ot:at)}function ct(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function lt(e){return function(t){e.call(this,t,this.__data__)}}function ut(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 dt(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function ft(e,t,n){return function(){var r=this.__on,i,a=lt(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function pt(e,t,n){var r=ut(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?ft:dt,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function mt(e,t,n){var r=Ce(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function ht(e,t){return function(){return mt(this,e,t)}}function gt(e,t){return function(){return mt(this,e,t.apply(this,arguments))}}function _t(e,t){return this.each((typeof t==`function`?gt:ht)(e,t))}function*vt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var yt=[null];function G(e,t){this._groups=e,this._parents=t}function bt(){return new G([[document.documentElement]],yt)}function xt(){return this}G.prototype=bt.prototype={constructor:G,select:C,selectAll:O,selectChild:P,selectChildren:R,filter:z,data:ne,enter:V,exit:ie,join:ae,merge:oe,selection:xt,order:se,sort:ce,call:ue,nodes:de,node:fe,size:pe,empty:me,each:he,attr:Se,style:De,property:Me,classed:Ve,text:Ge,html:Ye,raise:Ze,lower:$e,append:et,insert:nt,remove:it,clone:st,datum:ct,on:pt,dispatch:_t,[Symbol.iterator]:vt};function K(e){return typeof e==`string`?new G([[document.querySelector(e)]],[document.documentElement]):new G([[e]],yt)}function St(e){let t;for(;t=e.sourceEvent;)e=t;return e}function q(e,t){if(e=St(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Ct={passive:!1},wt={capture:!0,passive:!1};function Tt(e){e.stopImmediatePropagation()}function Et(e){e.preventDefault(),e.stopImmediatePropagation()}function Dt(e){var t=e.document.documentElement,n=K(e).on(`dragstart.drag`,Et,wt);`onselectstart`in t?n.on(`selectstart.drag`,Et,wt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Ot(e,t){var n=e.document.documentElement,r=K(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Et,wt),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var kt=e=>()=>e;function At(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,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:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}At.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jt(e){return!e.ctrlKey&&!e.button}function Mt(){return this.parentNode}function Nt(e,t){return t??{x:e.x,y:e.y}}function Pt(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ft(){var e=jt,t=Mt,n=Nt,r=Pt,i={},a=d(`start`,`drag`,`end`),o=0,s,c,l,u,f=0;function p(e){e.on(`mousedown.drag`,m).filter(r).on(`touchstart.drag`,_).on(`touchmove.drag`,v,Ct).on(`touchend.drag touchcancel.drag`,y).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function m(n,r){if(!u&&e.call(this,n,r)){var i=b(this,t.call(this,n,r),n,r,`mouse`);i&&(K(n.view).on(`mousemove.drag`,h,wt).on(`mouseup.drag`,g,wt),Dt(n.view),Tt(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function h(e){if(Et(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>f}i.mouse(`drag`,e)}function g(e){K(e.view).on(`mousemove.drag mouseup.drag`,null),Ot(e.view,l),Et(e),i.mouse(`end`,e)}function _(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=b(this,a,n,r,i[s].identifier,i[s]))&&(Tt(n),c(`start`,n,i[s]))}function v(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(Et(e),a(`drag`,e,t[r]))}function y(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Tt(e),a(`end`,e,t[r]))}function b(e,t,r,s,c,l){var u=a.copy(),d=q(l||r,t),f,m,h;if((h=n.call(e,new At(`beforestart`,{sourceEvent:r,target:p,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return f=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=q(l||a,t),_=o}u.call(r,e,new At(r,{sourceEvent:a,subject:h,target:p,identifier:c,active:_,x:d[0]+f,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return p.filter=function(t){return arguments.length?(e=typeof t==`function`?t:kt(!!t),p):e},p.container=function(e){return arguments.length?(t=typeof e==`function`?e:kt(e),p):t},p.subject=function(e){return arguments.length?(n=typeof e==`function`?e:kt(e),p):n},p.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:kt(!!e),p):r},p.on=function(){var e=a.on.apply(a,arguments);return e===a?p:e},p.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,p):Math.sqrt(f)},p}function It(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Lt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Rt(){}var zt=.7,Bt=1/zt,Vt=`\\s*([+-]?\\d+)\\s*`,Ht=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Ut=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Wt=/^#([0-9a-f]{3,8})$/,Gt=RegExp(`^rgb\\(${Vt},${Vt},${Vt}\\)$`),Kt=RegExp(`^rgb\\(${Ut},${Ut},${Ut}\\)$`),qt=RegExp(`^rgba\\(${Vt},${Vt},${Vt},${Ht}\\)$`),Jt=RegExp(`^rgba\\(${Ut},${Ut},${Ut},${Ht}\\)$`),Yt=RegExp(`^hsl\\(${Ht},${Ut},${Ut}\\)$`),Xt=RegExp(`^hsla\\(${Ht},${Ut},${Ut},${Ht}\\)$`),Zt={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};It(Rt,nn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Qt,formatHex:Qt,formatHex8:$t,formatHsl:en,formatRgb:tn,toString:tn});function Qt(){return this.rgb().formatHex()}function $t(){return this.rgb().formatHex8()}function en(){return hn(this).formatHsl()}function tn(){return this.rgb().formatRgb()}function nn(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Wt.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?rn(t):n===3?new J(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?an(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?an(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Gt.exec(e))?new J(t[1],t[2],t[3],1):(t=Kt.exec(e))?new J(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=qt.exec(e))?an(t[1],t[2],t[3],t[4]):(t=Jt.exec(e))?an(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Yt.exec(e))?mn(t[1],t[2]/100,t[3]/100,1):(t=Xt.exec(e))?mn(t[1],t[2]/100,t[3]/100,t[4]):Zt.hasOwnProperty(e)?rn(Zt[e]):e===`transparent`?new J(NaN,NaN,NaN,0):null}function rn(e){return new J(e>>16&255,e>>8&255,e&255,1)}function an(e,t,n,r){return r<=0&&(e=t=n=NaN),new J(e,t,n,r)}function on(e){return e instanceof Rt||(e=nn(e)),e?(e=e.rgb(),new J(e.r,e.g,e.b,e.opacity)):new J}function sn(e,t,n,r){return arguments.length===1?on(e):new J(e,t,n,r??1)}function J(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}It(J,sn,Lt(Rt,{brighter(e){return e=e==null?Bt:Bt**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zt:zt**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new J(fn(this.r),fn(this.g),fn(this.b),dn(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:cn,formatHex:cn,formatHex8:ln,formatRgb:un,toString:un}));function cn(){return`#${pn(this.r)}${pn(this.g)}${pn(this.b)}`}function ln(){return`#${pn(this.r)}${pn(this.g)}${pn(this.b)}${pn((isNaN(this.opacity)?1:this.opacity)*255)}`}function un(){let e=dn(this.opacity);return`${e===1?`rgb(`:`rgba(`}${fn(this.r)}, ${fn(this.g)}, ${fn(this.b)}${e===1?`)`:`, ${e})`}`}function dn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function fn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function pn(e){return e=fn(e),(e<16?`0`:``)+e.toString(16)}function mn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new _n(e,t,n,r)}function hn(e){if(e instanceof _n)return new _n(e.h,e.s,e.l,e.opacity);if(e instanceof Rt||(e=nn(e)),!e)return new _n;if(e instanceof _n)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new _n(o,s,c,e.opacity)}function gn(e,t,n,r){return arguments.length===1?hn(e):new _n(e,t,n,r??1)}function _n(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}It(_n,gn,Lt(Rt,{brighter(e){return e=e==null?Bt:Bt**+e,new _n(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zt:zt**+e,new _n(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new J(bn(e>=240?e-240:e+120,i,r),bn(e,i,r),bn(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new _n(vn(this.h),yn(this.s),yn(this.l),dn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=dn(this.opacity);return`${e===1?`hsl(`:`hsla(`}${vn(this.h)}, ${yn(this.s)*100}%, ${yn(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function vn(e){return e=(e||0)%360,e<0?e+360:e}function yn(e){return Math.max(0,Math.min(1,e||0))}function bn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var xn=e=>()=>e;function Sn(e,t){return function(n){return e+n*t}}function Cn(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function wn(e){return(e=+e)==1?Tn:function(t,n){return n-t?Cn(t,n,e):xn(isNaN(t)?n:t)}}function Tn(e,t){var n=t-e;return n?Sn(e,n):xn(isNaN(e)?t:e)}var En=(function e(t){var n=wn(t);function r(e,t){var r=n((e=sn(e)).r,(t=sn(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Tn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Dn(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function On(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kn(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Rn(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function An(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function jn(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Mn(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Rn(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Nn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pn=new RegExp(Nn.source,`g`);function Fn(e){return function(){return e}}function In(e){return function(t){return e(t)+``}}function Ln(e,t){var n=Nn.lastIndex=Pn.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Nn.exec(e))&&(i=Pn.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:jn(r,i)})),n=Pn.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?In(c[0].x):Fn(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Rn(e,t){var n=typeof t,r;return t==null||n===`boolean`?xn(t):(n===`number`?jn:n===`string`?(r=nn(t))?(t=r,En):Ln:t instanceof nn?En:t instanceof Date?An:On(t)?Dn:Array.isArray(t)?kn:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Mn:jn)(e,t)}var zn=180/Math.PI,Bn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vn(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*zn,skewX:Math.atan(c)*zn,scaleX:o,scaleY:s}}var Hn;function Un(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Bn:Vn(t.a,t.b,t.c,t.d,t.e,t.f)}function Wn(e){return e==null||(Hn||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Hn.setAttribute(`transform`,e),!(e=Hn.transform.baseVal.consolidate()))?Bn:(e=e.matrix,Vn(e.a,e.b,e.c,e.d,e.e,e.f))}function Gn(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:jn(e,i)},{i:c-2,x:jn(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:jn(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:jn(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:jn(e,n)},{i:s-2,x:jn(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Kn=Gn(Un,`px, `,`px)`,`deg)`),qn=Gn(Wn,`, `,`)`,`)`),Jn=1e-12;function Yn(e){return((e=Math.exp(e))+1/e)/2}function Xn(e){return((e=Math.exp(e))-1/e)/2}function Zn(e){return((e=Math.exp(2*e))-1)/(e+1)}var Qn=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<Jn)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=Yn(y),c=s/(n*g)*(i*Zn(t*r+y)-Xn(y));return[a+c*d,o+c*f,s*i/Yn(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),$n=0,er=0,tr=0,nr=1e3,rr,ir,ar=0,or=0,sr=0,cr=typeof performance==`object`&&performance.now?performance:Date,lr=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ur(){return or||=(lr(dr),cr.now()+sr)}function dr(){or=0}function fr(){this._call=this._time=this._next=null}fr.prototype=pr.prototype={constructor:fr,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ur():+n)+(t==null?0:+t),!this._next&&ir!==this&&(ir?ir._next=this:rr=this,ir=this),this._call=e,this._time=n,vr()},stop:function(){this._call&&(this._call=null,this._time=1/0,vr())}};function pr(e,t,n){var r=new fr;return r.restart(e,t,n),r}function mr(){ur(),++$n;for(var e=rr,t;e;)(t=or-e._time)>=0&&e._call.call(void 0,t),e=e._next;--$n}function hr(){or=(ar=cr.now())+sr,$n=er=0;try{mr()}finally{$n=0,_r(),or=0}}function gr(){var e=cr.now(),t=e-ar;t>nr&&(sr-=t,ar=e)}function _r(){for(var e,t=rr,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:rr=n);ir=e,vr(r)}function vr(e){$n||(er&&=clearTimeout(er),e-or>24?(e<1/0&&(er=setTimeout(hr,e-cr.now()-sr)),tr&&=clearInterval(tr)):(tr||=(ar=cr.now(),setInterval(gr,nr)),$n=1,lr(hr)))}function yr(e,t,n){var r=new fr;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var br=d(`start`,`end`,`cancel`,`interrupt`),xr=[];function Sr(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Er(e,n,{name:t,index:r,group:i,on:br,tween:xr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Cr(e,t){var n=Tr(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function wr(e,t){var n=Tr(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Tr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Er(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=pr(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return yr(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(yr(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Dr(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Or(e){return this.each(function(){Dr(this,e)})}function kr(e,t){var n,r;return function(){var i=wr(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Ar(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=wr(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function jr(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Tr(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?kr:Ar)(n,e,t))}function Mr(e,t,n){var r=e._id;return e.each(function(){var e=wr(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Tr(e,r).value[t]}}function Nr(e,t){var n;return(typeof t==`number`?jn:t instanceof nn?En:(n=nn(t))?(t=n,En):Ln)(e,t)}function Pr(e){return function(){this.removeAttribute(e)}}function Fr(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ir(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Lr(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Rr(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function zr(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Br(e,t){var n=_(e),r=n===`transform`?qn:Nr;return this.attrTween(e,typeof t==`function`?(n.local?zr:Rr)(n,r,Mr(this,`attr.`+e,t)):t==null?(n.local?Fr:Pr)(n):(n.local?Lr:Ir)(n,r,t))}function Vr(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Hr(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ur(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Hr(e,i)),n}return i._value=t,i}function Wr(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Vr(e,i)),n}return i._value=t,i}function Gr(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=_(e);return this.tween(n,(r.local?Ur:Wr)(r,t))}function Kr(e,t){return function(){Cr(this,e).delay=+t.apply(this,arguments)}}function qr(e,t){return t=+t,function(){Cr(this,e).delay=t}}function Jr(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Kr:qr)(t,e)):Tr(this.node(),t).delay}function Yr(e,t){return function(){wr(this,e).duration=+t.apply(this,arguments)}}function Xr(e,t){return t=+t,function(){wr(this,e).duration=t}}function Zr(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Yr:Xr)(t,e)):Tr(this.node(),t).duration}function Qr(e,t){if(typeof t!=`function`)throw Error();return function(){wr(this,e).ease=t}}function $r(e){var t=this._id;return arguments.length?this.each(Qr(t,e)):Tr(this.node(),t).ease}function ei(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();wr(this,e).ease=n}}function ti(e){if(typeof e!=`function`)throw Error();return this.each(ei(this._id,e))}function ni(e){typeof e!=`function`&&(e=k(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new ji(r,this._parents,this._name,this._id)}function ri(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new ji(o,this._parents,this._name,this._id)}function ii(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ai(e,t,n){var r,i,a=ii(t)?Cr:wr;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function oi(e,t){var n=this._id;return arguments.length<2?Tr(this.node(),n).on.on(e):this.each(ai(n,e,t))}function si(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ci(){return this.on(`end.remove`,si(this._id))}function li(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=S(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Sr(l[f],t,n,f,l,Tr(u,n)));return new ji(a,this._parents,t,n)}function ui(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=E(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Tr(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Sr(p,t,n,h,f,m);a.push(f),o.push(u)}return new ji(a,o,t,n)}var di=bt.prototype.constructor;function fi(){return new di(this._groups,this._parents)}function pi(e,t){var n,r,i;return function(){var a=Oe(this,e),o=(this.style.removeProperty(e),Oe(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function mi(e){return function(){this.style.removeProperty(e)}}function hi(e,t,n){var r,i=n+``,a;return function(){var o=Oe(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function gi(e,t,n){var r,i,a;return function(){var o=Oe(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Oe(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function _i(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=wr(this,e),l=c.on,u=c.value[a]==null?s||=mi(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function vi(e,t,n){var r=(e+=``)==`transform`?Kn:Nr;return t==null?this.styleTween(e,pi(e,r)).on(`end.style.`+e,mi(e)):typeof t==`function`?this.styleTween(e,gi(e,r,Mr(this,`style.`+e,t))).each(_i(this._id,e)):this.styleTween(e,hi(e,r,t),n).on(`end.style.`+e,null)}function yi(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function bi(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&yi(e,a,n)),r}return a._value=t,a}function xi(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,bi(e,t,n??``))}function Si(e){return function(){this.textContent=e}}function Ci(e){return function(){var t=e(this);this.textContent=t??``}}function wi(e){return this.tween(`text`,typeof e==`function`?Ci(Mr(this,`text`,e)):Si(e==null?``:e+``))}function Ti(e){return function(t){this.textContent=e.call(this,t)}}function Ei(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Ti(r)),t}return r._value=e,r}function Di(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Ei(e))}function Oi(){for(var e=this._name,t=this._id,n=Mi(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Tr(c,t);Sr(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new ji(r,this._parents,e,n)}function ki(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=wr(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ai=0;function ji(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mi(){return++Ai}var Ni=bt.prototype;ji.prototype={constructor:ji,select:li,selectAll:ui,selectChild:Ni.selectChild,selectChildren:Ni.selectChildren,filter:ni,merge:ri,selection:fi,transition:Oi,call:Ni.call,nodes:Ni.nodes,node:Ni.node,size:Ni.size,empty:Ni.empty,each:Ni.each,on:oi,attr:Br,attrTween:Gr,style:vi,styleTween:xi,text:wi,textTween:Di,remove:ci,tween:jr,delay:Jr,duration:Zr,ease:$r,easeVarying:ti,end:ki,[Symbol.iterator]:Ni[Symbol.iterator]};function Pi(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Fi={time:null,delay:0,duration:250,ease:Pi};function Ii(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Li(e){var t,n;e instanceof ji?(t=e._id,e=e._name):(t=Mi(),(n=Fi).time=ur(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Sr(c,e,t,l,o,n||Ii(c,t));return new ji(r,this._parents,e,t)}bt.prototype.interrupt=Or,bt.prototype.transition=Li;var Ri=e=>()=>e;function zi(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Bi(e,t,n){this.k=e,this.x=t,this.y=n}Bi.prototype={constructor:Bi,scale:function(e){return e===1?this:new Bi(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Bi(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 Vi=new Bi(1,0,0);Hi.prototype=Bi.prototype;function Hi(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Vi;return e.__zoom}function Ui(e){e.stopImmediatePropagation()}function Wi(e){e.preventDefault(),e.stopImmediatePropagation()}function Gi(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function Ki(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function qi(){return this.__zoom||Vi}function Ji(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Yi(){return navigator.maxTouchPoints||`ontouchstart`in this}function Xi(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Zi(){var e=Gi,t=Ki,n=Xi,r=Ji,i=Yi,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Qn,l=d(`start`,`zoom`,`end`),u,f,p,m=500,h=150,g=0,_=10;function v(e){e.property(`__zoom`,qi).on(`wheel.zoom`,T,{passive:!1}).on(`mousedown.zoom`,E).on(`dblclick.zoom`,D).filter(i).on(`touchstart.zoom`,O).on(`touchmove.zoom`,k).on(`touchend.zoom touchcancel.zoom`,A).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}v.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,qi),e===i?i.interrupt().each(function(){C(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):S(e,t,n,r)},v.scaleBy=function(e,t,n,r){v.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},v.scaleTo=function(e,r,i,a){v.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?x(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(b(y(a,l),s,c),e,o)},i,a)},v.translateBy=function(e,r,i,a){v.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},v.translateTo=function(e,r,i,a,s){v.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?x(e):typeof a==`function`?a.apply(this,arguments):a;return n(Vi.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function y(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Bi(t,e.x,e.y)}function b(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Bi(e.k,r,i)}function x(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function S(e,n,r,i){e.on(`start.zoom`,function(){C(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){C(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=C(e,a).event(i),s=t.apply(e,a),l=r==null?x(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Bi(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function C(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=K(this.that).datum();l.call(e,this.that,new zi(e,{sourceEvent:this.sourceEvent,target:v,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function T(t,...i){if(!e.apply(this,arguments))return;var s=C(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=q(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Dr(this),s.start();Wi(t),s.wheel=setTimeout(d,h),s.zoom(`mouse`,n(b(y(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function E(t,...r){if(p||!e.apply(this,arguments))return;var i=t.currentTarget,a=C(this,r,!0).event(t),s=K(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,f,!0),c=q(t,i),l=t.clientX,u=t.clientY;Dt(t.view),Ui(t),a.mouse=[c,this.__zoom.invert(c)],Dr(this),a.start();function d(e){if(Wi(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>g}a.event(e).zoom(`mouse`,n(b(a.that.__zoom,a.mouse[0]=q(e,i),a.mouse[1]),a.extent,o))}function f(e){s.on(`mousemove.zoom mouseup.zoom`,null),Ot(e.view,a.moved),Wi(e),a.event(e).end()}}function D(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=q(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(b(y(a,u),c,l),t.apply(this,i),o);Wi(r),s>0?K(this).transition().duration(s).call(S,d,c,r):K(this).call(v.transform,d,c,r)}}function O(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=C(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Ui(t),s=0;s<i;++s)c=r[s],l=q(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(f=l[0],u=setTimeout(function(){u=null},m)),Dr(this),a.start())}}function k(e,...t){if(this.__zooming){var r=C(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Wi(e),s=0;s<a;++s)c=i[s],l=q(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=y(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(b(c,l,u),r.extent,o))}}function A(e,...t){if(this.__zooming){var n=C(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Ui(e),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=q(o,this),Math.hypot(f[0]-o[0],f[1]-o[1])<_)){var s=K(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return v.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:Ri(+e),v):r},v.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ri(!!t),v):e},v.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ri(!!e),v):i},v.extent=function(e){return arguments.length?(t=typeof e==`function`?e:Ri([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),v):t},v.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],v):[a[0],a[1]]},v.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],v):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},v.constrain=function(e){return arguments.length?(n=e,v):n},v.duration=function(e){return arguments.length?(s=+e,v):s},v.interpolate=function(e){return arguments.length?(c=e,v):c},v.on=function(){var e=l.on.apply(l,arguments);return e===l?v:e},v.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,v):Math.sqrt(g)},v.tapDistance=function(e){return arguments.length?(_=+e,v):_},v}var Y={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Qi=[[-1/0,-1/0],[1/0,1/0]],$i=[`Enter`,` `,`Escape`],ea={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},ta;(function(e){e.Strict=`strict`,e.Loose=`loose`})(ta||={});var na;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(na||={});var ra;(function(e){e.Partial=`partial`,e.Full=`full`})(ra||={});var ia={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},aa;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(aa||={});var oa;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(oa||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var sa={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},ca=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,la=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),ua=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),da=(e,t=[0,0])=>{let{width:n,height:r}=Ga(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},fa=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):ua(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,Ta(e,ka(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Da(r):{x:0,y:0,width:0,height:0}},pa=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Ta(n,ka(e)),r=!0)}),r?Da(n):{x:0,y:0,width:0,height:0}},ma=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=ja(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},ha=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function ga(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=Ga(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function _a({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Ha(pa(ga(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function va({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,Y.error005());else{let{width:e,height:t}=Ga(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&Wa(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=Wa(d)?xa(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Y.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function ya({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=ha(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var ba=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),xa=(e={x:0,y:0},t,n)=>({x:ba(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ba(e.y,t[0][1],t[1][1]-(n?.height??0))});function Sa(e,t,n){let{width:r,height:i}=Ga(n),{x:a,y:o}=n.internals.positionAbsolute;return xa(e,[[a,o],[a+r,o+i]],t)}var Ca=(e,t,n)=>e<t?ba(Math.abs(e-t),1,t)/t:e>n?-ba(Math.abs(e-n),1,t)/t:0,wa=(e,t,n=15,r=40)=>[Ca(e.x,r,t.width-r)*n,Ca(e.y,r,t.height-r)*n],Ta=(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)}),Ea=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Da=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Oa=(e,t=[0,0])=>{let{x:n,y:r}=ua(e)?e.internals.positionAbsolute:da(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},ka=(e,t=[0,0])=>{let{x:n,y:r}=ua(e)?e.internals.positionAbsolute:da(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Aa=(e,t)=>Da(Ta(Ea(e),Ea(t))),ja=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Ma=(e,t)=>ja(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Na=e=>Pa(e.width)&&Pa(e.height)&&Pa(e.x)&&Pa(e.y),Pa=e=>!isNaN(e)&&isFinite(e),Fa=(e,t)=>(e,t)=>{},Ia=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),La=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Ia(s,o):s},Ra=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function za(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Ba(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=za(e,n),i=za(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=za(e.top??e.y??0,n),i=za(e.bottom??e.y??0,n),a=za(e.left??e.x??0,t),o=za(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Va(e,t,n,r,i,a){let{x:o,y:s}=Ra(e,[t,n,r]),{x:c,y:l}=Ra({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Ha=(e,t,n,r,i,a)=>{let o=Ba(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=ba(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Va(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Ua=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function Wa(e){return e!=null&&e!==`parent`}function Ga(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Ka(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function qa(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Ja(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ya(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Xa(e){return{...ea,...e||{}}}function Za(e){return e===null?null:e?`valid`:`invalid`}function Qa(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=io(e),s=La({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Ia(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var $a=e=>({width:e.offsetWidth,height:e.offsetHeight}),eo=e=>e?.getRootNode?.()||window?.document,to=[`INPUT`,`SELECT`,`TEXTAREA`];function no(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?to.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var ro=e=>`clientX`in e,io=(e,t)=>{let n=ro(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},ao=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...$a(t)}})};function oo({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function so(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function co({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-so(t-r,a),n];case X.Right:return[t+so(r-t,a),n];case X.Top:return[t,n-so(n-i,a)];case X.Bottom:return[t,n+so(i-n,a)]}}function lo({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=co({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=co({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=oo({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function uo({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function fo({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function po({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Ta(ka(e),ka(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Ma({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},Da(a))>0}var mo=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ho=(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)),go=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Y.error006()),t;let r=n.getEdgeId||mo,i;return i=ca(e)?{...e}:{...e,id:r(e)},ho(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function _o({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=uo({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var vo={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},yo=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.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},bo=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function xo({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=vo[t],c=vo[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=yo({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=uo({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function So(e,t,n,r){let i=Math.min(bo(e,t)/2,bo(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Co({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=xo({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=So(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function wo(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function To(e){let{sourceNode:t,targetNode:n}=e;if(!wo(t)||!wo(n))return null;let r=t.internals.handleBounds||Eo(t.handles),i=n.internals.handleBounds||Eo(n.handles),a=Oo(r?.source??[],e.sourceHandle),o=Oo(e.connectionMode===ta.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Y.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=Do(t,a,s),u=Do(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Eo(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Do(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??Ga(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Oo(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ko(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Ao(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=ko(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var jo=1e3,Mo=10,No={nodeOrigin:[0,0],nodeExtent:Qi,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Po={...No,checkEquality:!0};function Fo(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Io(e,t,n){let r=Fo(No,n);for(let n of e.values())if(n.parentId)Vo(n,e,t,r);else{let e=xa(da(n,r.nodeOrigin),Wa(n.extent)?n.extent:r.nodeExtent,Ga(n));n.internals.positionAbsolute=e}}function Lo(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ro(e){return e===`manual`}function zo(e,t,n,r={}){let i=Fo(Po,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ro(i.zIndexMode)?jo:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=xa(da(u,i.nodeOrigin),Wa(u.extent)?u.extent:i.nodeExtent,Ga(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:Lo(u,e),z:Ho(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Vo(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Bo(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Vo(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=Fo(No,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Bo(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Mo),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Uo(e,u,o,s,a&&!Ro(c)?jo:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Ho(e,t,n){let r=Pa(e.zIndex)?e.zIndex:0;return Ro(n)?r:r+(e.selected?t:0)}function Uo(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=Ga(e),l=da(e,n),u=Wa(e.extent)?xa(l,e.extent,c):l,d=xa({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=Sa(d,c,t));let f=Ho(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Wo(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Aa(a.get(n.parentId)?.expandedRect??Oa(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=Ga(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function Go(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=$a(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=Wa(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=Sa(h,s,n))}else m&&(h=xa(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:ao(`source`,r.nodeElement,p,d,e.id),target:ao(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Vo(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Oa(g,i)}))}}if(f.length>0){let e=Wo(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Ko({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function qo(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Jo(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;qo(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),qo(`target`,s,c,e,i,o),t.set(r.id,r)}}function Yo(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Yo(n,t):!1}function Xo(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Zo(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Yo(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Qo({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function $o({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Ia(a,t);return{x:o.x-a.x,y:o.y-a.y}}function es({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=K(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?Ea(pa(s)):null,x=v&&l?$o({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Ia(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=va({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Qo({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=wa(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=Qa(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Zo(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Qo({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Ft().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=Qa(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=io(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=Qa(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=io(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=io(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Qo({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Xo(t,`.${g}`,v))&&(!_||Xo(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function ts(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Ma(i,Oa(e))>0&&r.push(e);return r}var ns=250;function rs(e,t,n,r){let i=[],a=1/0,o=ts(e,n,t+ns);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Do(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function is(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Do(o,c,c.position,!0)}:c}function as(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function os(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var ss=()=>!0;function cs(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=ss,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=eo(e.target),E=0,D,{x:O,y:k}=io(e),A=as(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=is(i,A,r,c,t);if(!N)return;let P=io(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=wa(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:Do(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:sa[B.position],toNode:null,pointer:P};function ee(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&ee();function U(e){if(!M){let{x:t,y:n}=io(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;ee()}if(!x()||!B){W(e);return}let a=b();P=io(e,j),D=rs(La(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=ls(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=os(!!D,s.isValid);let u=c.get(i),f=u?Do(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?Ra({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:sa[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function W(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,U),T.removeEventListener(`mouseup`,W),T.removeEventListener(`touchmove`,U),T.removeEventListener(`touchend`,W)}}T.addEventListener(`mousemove`,U),T.addEventListener(`mouseup`,W),T.addEventListener(`touchmove`,U),T.addEventListener(`touchend`,W)}function ls(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=ss,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=io(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=as(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===ta.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=is(t,e,a,u,n,!0)}return _}var us={onPointerDown:cs,isValid:ls};function ds({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=K(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Ua()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Zi().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:q}}var fs=e=>({x:e.x,y:e.y,zoom:e.k}),ps=({x:e,y:t,zoom:n})=>Vi.translate(e,t).scale(n),ms=(e,t)=>e.target.closest(`.${t}`),hs=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),gs=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,_s=(e,t=0,n=gs,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},vs=e=>{let t=e.ctrlKey&&Ua()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function ys({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(ms(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=q(u),t=d*2**vs(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===na.Vertical?0:u.deltaX*f,m=i===na.Horizontal?0:u.deltaY*f;!Ua()&&u.shiftKey&&i!==na.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=fs(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function bs({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=ms(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function xs({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=fs(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Ss({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&hs(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,fs(a.transform))}}function Cs({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&hs(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=fs(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function ws({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(ms(f,`${u}-flow__node`)||ms(f,`${u}-flow__edge`)||ms(f,`${u}-flow__selection`)||ms(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||ms(f,c)&&h||ms(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function Ts({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=Zi().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=K(e).call(f);y({x:i.x,y:i.y,zoom:ba(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(vs);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).transform(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!Pa(D)||D<0?0:D);let A=k?ys({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):bs({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=xs({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=Ss({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=Cs({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=ws({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=ps(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=ps(e);return await g(n,t),n}function x(e){if(p){let t=ps(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Hi(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).scaleTo(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).scaleBy(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!Pa(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var Es;(function(e){e.Line=`line`,e.Handle=`handle`})(Es||={});function Ds({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Os(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function ks(e,t){return Math.max(0,t-e)}function As(e,t){return Math.max(0,e-t)}function js(e,t,n){return Math.max(0,t-e,e-n)}function Ms(e,t){return e?!t:t}function Ns(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=js(E,h,g),j=js(D,_,v);if(o){let e=0,t=0;c&&w<0?e=ks(y+w+O,o[0][0]):!c&&w>0&&(e=As(y+E+O,o[1][0])),l&&T<0?t=ks(b+T+k,o[0][1]):!l&&T>0&&(t=As(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=As(y+w,s[0][0]):!c&&w<0&&(e=ks(y+E,s[1][0])),l&&T>0?t=As(b+T,s[0][1]):!l&&T<0&&(t=ks(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=js(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?As(b+k+E/C,o[1][1])*C:ks(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?ks(b+E/C,s[1][1])*C:As(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=js(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?As(y+D*C+O,o[1][0])/C:ks(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?ks(y+D*C,s[1][0])/C:As(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Ms(c,l)?-w:w)/C:w=(Ms(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Ps={width:0,height:0,x:0,y:0},Fs={...Ps,pointerX:0,pointerY:0,aspectRatio:1};function Is(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Ls({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=K(e),o={controlDirection:Os(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Ps},h={...Fs};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Os(e)};let g,_=null,v=[],y,b,x,S=!1,C=Ft().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=Qa(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=Wa(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Is(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=Qa(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:C,height:w}=m,T={},E=g.origin??s,{width:D,height:O,x:k,y:A}=Ns(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,b,x),j=D!==C,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,v.length>0)){let e=k-u,t=A-f;for(let n of v)n.position={x:n.position.x-e+E[0]*(D-C),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),y&&g.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,h.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,h.y-=T.y-t)}let F=Ds({width:m.width,prevWidth:C,height:m.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)!==!1&&(S=!0,d?.(e,I),r(T,l))}).on(`end`,e=>{S&&=(f?.(e,{...m}),i?.({...m}),!1)});a.call(C)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Rs=t((e=>{var t=n(),r=o();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,s=r.useSyncExternalStore,c=t.useRef,l=t.useEffect,u=t.useMemo,d=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=c(null);if(o.current===null){var f={hasValue:!1,value:null};o.current=f}else f=o.current;o=u(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,o[0],o[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),zs=e(t(((e,t)=>{t.exports=Rs()}))(),1),Bs=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Vs=e=>e?Bs(e):Bs,{useDebugValue:Hs}=s.default,{useSyncExternalStoreWithSelector:Us}=zs.default,Ws=e=>e;function Gs(e,t=Ws,n){let r=Us(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Hs(r),r}var Ks=(e,t)=>{let n=Vs(e),r=(e,r=t)=>Gs(n,e,r);return Object.assign(r,n),r},qs=(e,t)=>e?Ks(e,t):Ks;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var Js=e(r()),Ys=(0,s.createContext)(null),Xs=Ys.Provider,Zs=Y.error001(`react`);function Q(e,t){let n=(0,s.useContext)(Ys);if(n===null)throw Error(Zs);return Gs(n,e,t)}function $(){let e=(0,s.useContext)(Ys);if(e===null)throw Error(Zs);return(0,s.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Qs={display:`none`},$s={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},ec=`react-flow__node-desc`,tc=`react-flow__edge-desc`,nc=`react-flow__aria-live`,rc=e=>e.ariaLiveMessage,ic=e=>e.ariaLabelConfig;function ac({rfId:e}){let t=Q(rc);return(0,c.jsx)(`div`,{id:`${nc}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:$s,children:t})}function oc({rfId:e,disableKeyboardA11y:t}){let n=Q(ic);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{id:`${ec}-${e}`,style:Qs,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,c.jsx)(`div`,{id:`${tc}-${e}`,style:Qs,children:n[`edge.a11yDescription.default`]}),!t&&(0,c.jsx)(ac,{rfId:e})]})}var sc=(0,s.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,c.jsx)(`div`,{className:l([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});sc.displayName=`Panel`;var cc=`https://reactflow.dev?utm_source=attribution`;function lc({proOptions:e,position:t=`bottom-right`}){return(0,s.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,c.jsx)(sc,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${cc}`,children:(0,c.jsx)(`a`,{href:cc,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var uc=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},dc=e=>e.id;function fc(e,t){return Z(e.selectedNodes.map(dc),t.selectedNodes.map(dc))&&Z(e.selectedEdges.map(dc),t.selectedEdges.map(dc))}function pc({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(uc,fc);return(0,s.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var mc=e=>!!e.onSelectionChangeHandlers;function hc({onSelectionChange:e}){let t=Q(mc);return e||t?(0,c.jsx)(pc,{onSelectionChange:e}):null}var gc=[0,0],_c={x:0,y:0,zoom:1},vc=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],yc=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),bc={translateExtent:Qi,nodeOrigin:gc,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function xc(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:c,setDefaultNodesAndEdges:l}=Q(yc,Z),u=$();(0,s.useEffect)(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=bc,c()}),[]);let d=(0,s.useRef)(bc);return(0,s.useEffect)(()=>{for(let s of vc){let c=e[s];c!==d.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?u.setState({ariaLabelConfig:Xa(c)}):s===`fitView`?u.setState({fitViewQueued:c}):s===`fitViewOptions`?u.setState({fitViewOptions:c}):u.setState({[s]:c}))}d.current=e},vc.map(t=>e[t])),null}function Sc(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Cc(e){let[t,n]=(0,s.useState)(e===`system`?null:e);return(0,s.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Sc(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Sc()?.matches?`dark`:`light`:t}var wc=typeof document<`u`?document:null;function Tc(e=null,t={target:wc,actInsideInputWithModifier:!0}){let[n,r]=(0,s.useState)(!1),i=(0,s.useRef)(!1),a=(0,s.useRef)(new Set([])),[o,c]=(0,s.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{i as n,r,t as i}from"./react-core-wiHys0m2.js";var a=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),o=t(((e,t)=>{t.exports=a()})),s=e(n(),1),c=i();function l(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=l(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var u={value:()=>{}};function d(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new f(n)}function f(e){this._=e}function p(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}f.prototype=d.prototype={constructor:f,on:function(e,t){var n=this._,r=p(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=m(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=h(n[i],e.name,t);else if(t==null)for(i in n)n[i]=h(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new f(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function m(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function h(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=u,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var g={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function _(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),g.hasOwnProperty(t)?{space:g[t],local:e}:e}function v(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function y(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function b(e){var t=_(e);return(t.local?y:v)(t)}function x(){}function S(e){return e==null?x:function(){return this.querySelector(e)}}function C(e){typeof e!=`function`&&(e=S(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new G(r,this._parents)}function w(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function T(){return[]}function E(e){return e==null?T:function(){return this.querySelectorAll(e)}}function D(e){return function(){return w(e.apply(this,arguments))}}function O(e){e=typeof e==`function`?D(e):E(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new G(r,i)}function k(e){return function(){return this.matches(e)}}function A(e){return function(t){return t.matches(e)}}var j=Array.prototype.find;function M(e){return function(){return j.call(this.children,e)}}function N(){return this.firstElementChild}function P(e){return this.select(e==null?N:M(typeof e==`function`?e:A(e)))}var F=Array.prototype.filter;function I(){return Array.from(this.children)}function L(e){return function(){return F.call(this.children,e)}}function R(e){return this.selectAll(e==null?I:L(typeof e==`function`?e:A(e)))}function z(e){typeof e!=`function`&&(e=k(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new G(r,this._parents)}function B(e){return Array(e.length)}function V(){return new G(this._enter||this._groups.map(B),this._parents)}function H(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}H.prototype={constructor:H,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)}};function ee(e){return function(){return e}}function U(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new H(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function W(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new H(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function te(e){return e.__data__}function ne(e,t){if(!arguments.length)return Array.from(this,te);var n=t?W:U,r=this._parents,i=this._groups;typeof e!=`function`&&(e=ee(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=re(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new G(o,r),o._enter=s,o._exit=c,o}function re(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ie(){return new G(this._exit||this._groups.map(B),this._parents)}function ae(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function oe(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new G(s,this._parents)}function se(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ce(e){e||=le;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new G(i,this._parents).order()}function le(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ue(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function de(){return Array.from(this)}function fe(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function pe(){let e=0;for(let t of this)++e;return e}function me(){return!this.node()}function he(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function ge(e){return function(){this.removeAttribute(e)}}function _e(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ve(e,t){return function(){this.setAttribute(e,t)}}function ye(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function be(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function xe(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Se(e,t){var n=_(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?_e:ge:typeof t==`function`?n.local?xe:be:n.local?ye:ve)(n,t))}function Ce(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function we(e){return function(){this.style.removeProperty(e)}}function Te(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Ee(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function De(e,t,n){return arguments.length>1?this.each((t==null?we:typeof t==`function`?Ee:Te)(e,t,n??``)):Oe(this.node(),e)}function Oe(e,t){return e.style.getPropertyValue(t)||Ce(e).getComputedStyle(e,null).getPropertyValue(t)}function ke(e){return function(){delete this[e]}}function Ae(e,t){return function(){this[e]=t}}function je(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Me(e,t){return arguments.length>1?this.each((t==null?ke:typeof t==`function`?je:Ae)(e,t)):this.node()[e]}function Ne(e){return e.trim().split(/^|\s+/)}function Pe(e){return e.classList||new Fe(e)}function Fe(e){this._node=e,this._names=Ne(e.getAttribute(`class`)||``)}Fe.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}};function Ie(e,t){for(var n=Pe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Le(e,t){for(var n=Pe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Re(e){return function(){Ie(this,e)}}function ze(e){return function(){Le(this,e)}}function Be(e,t){return function(){(t.apply(this,arguments)?Ie:Le)(this,e)}}function Ve(e,t){var n=Ne(e+``);if(arguments.length<2){for(var r=Pe(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Be:t?Re:ze)(n,t))}function He(){this.textContent=``}function Ue(e){return function(){this.textContent=e}}function We(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Ge(e){return arguments.length?this.each(e==null?He:(typeof e==`function`?We:Ue)(e)):this.node().textContent}function Ke(){this.innerHTML=``}function qe(e){return function(){this.innerHTML=e}}function Je(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Ye(e){return arguments.length?this.each(e==null?Ke:(typeof e==`function`?Je:qe)(e)):this.node().innerHTML}function Xe(){this.nextSibling&&this.parentNode.appendChild(this)}function Ze(){return this.each(Xe)}function Qe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $e(){return this.each(Qe)}function et(e){var t=typeof e==`function`?e:b(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function tt(){return null}function nt(e,t){var n=typeof e==`function`?e:b(e),r=t==null?tt:typeof t==`function`?t:S(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function rt(){var e=this.parentNode;e&&e.removeChild(this)}function it(){return this.each(rt)}function at(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ot(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function st(e){return this.select(e?ot:at)}function ct(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function lt(e){return function(t){e.call(this,t,this.__data__)}}function ut(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 dt(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function ft(e,t,n){return function(){var r=this.__on,i,a=lt(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function pt(e,t,n){var r=ut(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?ft:dt,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function mt(e,t,n){var r=Ce(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function ht(e,t){return function(){return mt(this,e,t)}}function gt(e,t){return function(){return mt(this,e,t.apply(this,arguments))}}function _t(e,t){return this.each((typeof t==`function`?gt:ht)(e,t))}function*vt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var yt=[null];function G(e,t){this._groups=e,this._parents=t}function bt(){return new G([[document.documentElement]],yt)}function xt(){return this}G.prototype=bt.prototype={constructor:G,select:C,selectAll:O,selectChild:P,selectChildren:R,filter:z,data:ne,enter:V,exit:ie,join:ae,merge:oe,selection:xt,order:se,sort:ce,call:ue,nodes:de,node:fe,size:pe,empty:me,each:he,attr:Se,style:De,property:Me,classed:Ve,text:Ge,html:Ye,raise:Ze,lower:$e,append:et,insert:nt,remove:it,clone:st,datum:ct,on:pt,dispatch:_t,[Symbol.iterator]:vt};function K(e){return typeof e==`string`?new G([[document.querySelector(e)]],[document.documentElement]):new G([[e]],yt)}function St(e){let t;for(;t=e.sourceEvent;)e=t;return e}function q(e,t){if(e=St(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Ct={passive:!1},wt={capture:!0,passive:!1};function Tt(e){e.stopImmediatePropagation()}function Et(e){e.preventDefault(),e.stopImmediatePropagation()}function Dt(e){var t=e.document.documentElement,n=K(e).on(`dragstart.drag`,Et,wt);`onselectstart`in t?n.on(`selectstart.drag`,Et,wt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Ot(e,t){var n=e.document.documentElement,r=K(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Et,wt),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var kt=e=>()=>e;function At(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,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:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}At.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jt(e){return!e.ctrlKey&&!e.button}function Mt(){return this.parentNode}function Nt(e,t){return t??{x:e.x,y:e.y}}function Pt(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ft(){var e=jt,t=Mt,n=Nt,r=Pt,i={},a=d(`start`,`drag`,`end`),o=0,s,c,l,u,f=0;function p(e){e.on(`mousedown.drag`,m).filter(r).on(`touchstart.drag`,_).on(`touchmove.drag`,v,Ct).on(`touchend.drag touchcancel.drag`,y).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function m(n,r){if(!u&&e.call(this,n,r)){var i=b(this,t.call(this,n,r),n,r,`mouse`);i&&(K(n.view).on(`mousemove.drag`,h,wt).on(`mouseup.drag`,g,wt),Dt(n.view),Tt(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function h(e){if(Et(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>f}i.mouse(`drag`,e)}function g(e){K(e.view).on(`mousemove.drag mouseup.drag`,null),Ot(e.view,l),Et(e),i.mouse(`end`,e)}function _(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=b(this,a,n,r,i[s].identifier,i[s]))&&(Tt(n),c(`start`,n,i[s]))}function v(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(Et(e),a(`drag`,e,t[r]))}function y(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Tt(e),a(`end`,e,t[r]))}function b(e,t,r,s,c,l){var u=a.copy(),d=q(l||r,t),f,m,h;if((h=n.call(e,new At(`beforestart`,{sourceEvent:r,target:p,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return f=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=q(l||a,t),_=o}u.call(r,e,new At(r,{sourceEvent:a,subject:h,target:p,identifier:c,active:_,x:d[0]+f,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return p.filter=function(t){return arguments.length?(e=typeof t==`function`?t:kt(!!t),p):e},p.container=function(e){return arguments.length?(t=typeof e==`function`?e:kt(e),p):t},p.subject=function(e){return arguments.length?(n=typeof e==`function`?e:kt(e),p):n},p.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:kt(!!e),p):r},p.on=function(){var e=a.on.apply(a,arguments);return e===a?p:e},p.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,p):Math.sqrt(f)},p}function It(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Lt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Rt(){}var zt=.7,Bt=1/zt,Vt=`\\s*([+-]?\\d+)\\s*`,Ht=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Ut=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Wt=/^#([0-9a-f]{3,8})$/,Gt=RegExp(`^rgb\\(${Vt},${Vt},${Vt}\\)$`),Kt=RegExp(`^rgb\\(${Ut},${Ut},${Ut}\\)$`),qt=RegExp(`^rgba\\(${Vt},${Vt},${Vt},${Ht}\\)$`),Jt=RegExp(`^rgba\\(${Ut},${Ut},${Ut},${Ht}\\)$`),Yt=RegExp(`^hsl\\(${Ht},${Ut},${Ut}\\)$`),Xt=RegExp(`^hsla\\(${Ht},${Ut},${Ut},${Ht}\\)$`),Zt={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};It(Rt,nn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Qt,formatHex:Qt,formatHex8:$t,formatHsl:en,formatRgb:tn,toString:tn});function Qt(){return this.rgb().formatHex()}function $t(){return this.rgb().formatHex8()}function en(){return hn(this).formatHsl()}function tn(){return this.rgb().formatRgb()}function nn(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Wt.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?rn(t):n===3?new J(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?an(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?an(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Gt.exec(e))?new J(t[1],t[2],t[3],1):(t=Kt.exec(e))?new J(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=qt.exec(e))?an(t[1],t[2],t[3],t[4]):(t=Jt.exec(e))?an(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Yt.exec(e))?mn(t[1],t[2]/100,t[3]/100,1):(t=Xt.exec(e))?mn(t[1],t[2]/100,t[3]/100,t[4]):Zt.hasOwnProperty(e)?rn(Zt[e]):e===`transparent`?new J(NaN,NaN,NaN,0):null}function rn(e){return new J(e>>16&255,e>>8&255,e&255,1)}function an(e,t,n,r){return r<=0&&(e=t=n=NaN),new J(e,t,n,r)}function on(e){return e instanceof Rt||(e=nn(e)),e?(e=e.rgb(),new J(e.r,e.g,e.b,e.opacity)):new J}function sn(e,t,n,r){return arguments.length===1?on(e):new J(e,t,n,r??1)}function J(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}It(J,sn,Lt(Rt,{brighter(e){return e=e==null?Bt:Bt**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zt:zt**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new J(fn(this.r),fn(this.g),fn(this.b),dn(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:cn,formatHex:cn,formatHex8:ln,formatRgb:un,toString:un}));function cn(){return`#${pn(this.r)}${pn(this.g)}${pn(this.b)}`}function ln(){return`#${pn(this.r)}${pn(this.g)}${pn(this.b)}${pn((isNaN(this.opacity)?1:this.opacity)*255)}`}function un(){let e=dn(this.opacity);return`${e===1?`rgb(`:`rgba(`}${fn(this.r)}, ${fn(this.g)}, ${fn(this.b)}${e===1?`)`:`, ${e})`}`}function dn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function fn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function pn(e){return e=fn(e),(e<16?`0`:``)+e.toString(16)}function mn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new _n(e,t,n,r)}function hn(e){if(e instanceof _n)return new _n(e.h,e.s,e.l,e.opacity);if(e instanceof Rt||(e=nn(e)),!e)return new _n;if(e instanceof _n)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new _n(o,s,c,e.opacity)}function gn(e,t,n,r){return arguments.length===1?hn(e):new _n(e,t,n,r??1)}function _n(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}It(_n,gn,Lt(Rt,{brighter(e){return e=e==null?Bt:Bt**+e,new _n(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zt:zt**+e,new _n(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new J(bn(e>=240?e-240:e+120,i,r),bn(e,i,r),bn(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new _n(vn(this.h),yn(this.s),yn(this.l),dn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=dn(this.opacity);return`${e===1?`hsl(`:`hsla(`}${vn(this.h)}, ${yn(this.s)*100}%, ${yn(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function vn(e){return e=(e||0)%360,e<0?e+360:e}function yn(e){return Math.max(0,Math.min(1,e||0))}function bn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var xn=e=>()=>e;function Sn(e,t){return function(n){return e+n*t}}function Cn(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function wn(e){return(e=+e)==1?Tn:function(t,n){return n-t?Cn(t,n,e):xn(isNaN(t)?n:t)}}function Tn(e,t){var n=t-e;return n?Sn(e,n):xn(isNaN(e)?t:e)}var En=(function e(t){var n=wn(t);function r(e,t){var r=n((e=sn(e)).r,(t=sn(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Tn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Dn(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function On(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kn(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Rn(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function An(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function jn(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Mn(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Rn(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Nn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pn=new RegExp(Nn.source,`g`);function Fn(e){return function(){return e}}function In(e){return function(t){return e(t)+``}}function Ln(e,t){var n=Nn.lastIndex=Pn.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Nn.exec(e))&&(i=Pn.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:jn(r,i)})),n=Pn.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?In(c[0].x):Fn(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Rn(e,t){var n=typeof t,r;return t==null||n===`boolean`?xn(t):(n===`number`?jn:n===`string`?(r=nn(t))?(t=r,En):Ln:t instanceof nn?En:t instanceof Date?An:On(t)?Dn:Array.isArray(t)?kn:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Mn:jn)(e,t)}var zn=180/Math.PI,Bn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vn(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*zn,skewX:Math.atan(c)*zn,scaleX:o,scaleY:s}}var Hn;function Un(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Bn:Vn(t.a,t.b,t.c,t.d,t.e,t.f)}function Wn(e){return e==null||(Hn||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Hn.setAttribute(`transform`,e),!(e=Hn.transform.baseVal.consolidate()))?Bn:(e=e.matrix,Vn(e.a,e.b,e.c,e.d,e.e,e.f))}function Gn(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:jn(e,i)},{i:c-2,x:jn(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:jn(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:jn(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:jn(e,n)},{i:s-2,x:jn(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Kn=Gn(Un,`px, `,`px)`,`deg)`),qn=Gn(Wn,`, `,`)`,`)`),Jn=1e-12;function Yn(e){return((e=Math.exp(e))+1/e)/2}function Xn(e){return((e=Math.exp(e))-1/e)/2}function Zn(e){return((e=Math.exp(2*e))-1)/(e+1)}var Qn=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<Jn)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=Yn(y),c=s/(n*g)*(i*Zn(t*r+y)-Xn(y));return[a+c*d,o+c*f,s*i/Yn(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),$n=0,er=0,tr=0,nr=1e3,rr,ir,ar=0,or=0,sr=0,cr=typeof performance==`object`&&performance.now?performance:Date,lr=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ur(){return or||=(lr(dr),cr.now()+sr)}function dr(){or=0}function fr(){this._call=this._time=this._next=null}fr.prototype=pr.prototype={constructor:fr,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ur():+n)+(t==null?0:+t),!this._next&&ir!==this&&(ir?ir._next=this:rr=this,ir=this),this._call=e,this._time=n,vr()},stop:function(){this._call&&(this._call=null,this._time=1/0,vr())}};function pr(e,t,n){var r=new fr;return r.restart(e,t,n),r}function mr(){ur(),++$n;for(var e=rr,t;e;)(t=or-e._time)>=0&&e._call.call(void 0,t),e=e._next;--$n}function hr(){or=(ar=cr.now())+sr,$n=er=0;try{mr()}finally{$n=0,_r(),or=0}}function gr(){var e=cr.now(),t=e-ar;t>nr&&(sr-=t,ar=e)}function _r(){for(var e,t=rr,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:rr=n);ir=e,vr(r)}function vr(e){$n||(er&&=clearTimeout(er),e-or>24?(e<1/0&&(er=setTimeout(hr,e-cr.now()-sr)),tr&&=clearInterval(tr)):(tr||=(ar=cr.now(),setInterval(gr,nr)),$n=1,lr(hr)))}function yr(e,t,n){var r=new fr;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var br=d(`start`,`end`,`cancel`,`interrupt`),xr=[];function Sr(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Er(e,n,{name:t,index:r,group:i,on:br,tween:xr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Cr(e,t){var n=Tr(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function wr(e,t){var n=Tr(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Tr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Er(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=pr(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return yr(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(yr(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Dr(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Or(e){return this.each(function(){Dr(this,e)})}function kr(e,t){var n,r;return function(){var i=wr(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Ar(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=wr(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function jr(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Tr(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?kr:Ar)(n,e,t))}function Mr(e,t,n){var r=e._id;return e.each(function(){var e=wr(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Tr(e,r).value[t]}}function Nr(e,t){var n;return(typeof t==`number`?jn:t instanceof nn?En:(n=nn(t))?(t=n,En):Ln)(e,t)}function Pr(e){return function(){this.removeAttribute(e)}}function Fr(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ir(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Lr(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Rr(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function zr(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Br(e,t){var n=_(e),r=n===`transform`?qn:Nr;return this.attrTween(e,typeof t==`function`?(n.local?zr:Rr)(n,r,Mr(this,`attr.`+e,t)):t==null?(n.local?Fr:Pr)(n):(n.local?Lr:Ir)(n,r,t))}function Vr(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Hr(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ur(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Hr(e,i)),n}return i._value=t,i}function Wr(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Vr(e,i)),n}return i._value=t,i}function Gr(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=_(e);return this.tween(n,(r.local?Ur:Wr)(r,t))}function Kr(e,t){return function(){Cr(this,e).delay=+t.apply(this,arguments)}}function qr(e,t){return t=+t,function(){Cr(this,e).delay=t}}function Jr(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Kr:qr)(t,e)):Tr(this.node(),t).delay}function Yr(e,t){return function(){wr(this,e).duration=+t.apply(this,arguments)}}function Xr(e,t){return t=+t,function(){wr(this,e).duration=t}}function Zr(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Yr:Xr)(t,e)):Tr(this.node(),t).duration}function Qr(e,t){if(typeof t!=`function`)throw Error();return function(){wr(this,e).ease=t}}function $r(e){var t=this._id;return arguments.length?this.each(Qr(t,e)):Tr(this.node(),t).ease}function ei(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();wr(this,e).ease=n}}function ti(e){if(typeof e!=`function`)throw Error();return this.each(ei(this._id,e))}function ni(e){typeof e!=`function`&&(e=k(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new ji(r,this._parents,this._name,this._id)}function ri(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new ji(o,this._parents,this._name,this._id)}function ii(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ai(e,t,n){var r,i,a=ii(t)?Cr:wr;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function oi(e,t){var n=this._id;return arguments.length<2?Tr(this.node(),n).on.on(e):this.each(ai(n,e,t))}function si(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ci(){return this.on(`end.remove`,si(this._id))}function li(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=S(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Sr(l[f],t,n,f,l,Tr(u,n)));return new ji(a,this._parents,t,n)}function ui(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=E(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Tr(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Sr(p,t,n,h,f,m);a.push(f),o.push(u)}return new ji(a,o,t,n)}var di=bt.prototype.constructor;function fi(){return new di(this._groups,this._parents)}function pi(e,t){var n,r,i;return function(){var a=Oe(this,e),o=(this.style.removeProperty(e),Oe(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function mi(e){return function(){this.style.removeProperty(e)}}function hi(e,t,n){var r,i=n+``,a;return function(){var o=Oe(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function gi(e,t,n){var r,i,a;return function(){var o=Oe(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Oe(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function _i(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=wr(this,e),l=c.on,u=c.value[a]==null?s||=mi(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function vi(e,t,n){var r=(e+=``)==`transform`?Kn:Nr;return t==null?this.styleTween(e,pi(e,r)).on(`end.style.`+e,mi(e)):typeof t==`function`?this.styleTween(e,gi(e,r,Mr(this,`style.`+e,t))).each(_i(this._id,e)):this.styleTween(e,hi(e,r,t),n).on(`end.style.`+e,null)}function yi(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function bi(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&yi(e,a,n)),r}return a._value=t,a}function xi(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,bi(e,t,n??``))}function Si(e){return function(){this.textContent=e}}function Ci(e){return function(){var t=e(this);this.textContent=t??``}}function wi(e){return this.tween(`text`,typeof e==`function`?Ci(Mr(this,`text`,e)):Si(e==null?``:e+``))}function Ti(e){return function(t){this.textContent=e.call(this,t)}}function Ei(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Ti(r)),t}return r._value=e,r}function Di(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Ei(e))}function Oi(){for(var e=this._name,t=this._id,n=Mi(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Tr(c,t);Sr(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new ji(r,this._parents,e,n)}function ki(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=wr(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ai=0;function ji(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mi(){return++Ai}var Ni=bt.prototype;ji.prototype={constructor:ji,select:li,selectAll:ui,selectChild:Ni.selectChild,selectChildren:Ni.selectChildren,filter:ni,merge:ri,selection:fi,transition:Oi,call:Ni.call,nodes:Ni.nodes,node:Ni.node,size:Ni.size,empty:Ni.empty,each:Ni.each,on:oi,attr:Br,attrTween:Gr,style:vi,styleTween:xi,text:wi,textTween:Di,remove:ci,tween:jr,delay:Jr,duration:Zr,ease:$r,easeVarying:ti,end:ki,[Symbol.iterator]:Ni[Symbol.iterator]};function Pi(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Fi={time:null,delay:0,duration:250,ease:Pi};function Ii(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Li(e){var t,n;e instanceof ji?(t=e._id,e=e._name):(t=Mi(),(n=Fi).time=ur(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Sr(c,e,t,l,o,n||Ii(c,t));return new ji(r,this._parents,e,t)}bt.prototype.interrupt=Or,bt.prototype.transition=Li;var Ri=e=>()=>e;function zi(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Bi(e,t,n){this.k=e,this.x=t,this.y=n}Bi.prototype={constructor:Bi,scale:function(e){return e===1?this:new Bi(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Bi(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 Vi=new Bi(1,0,0);Hi.prototype=Bi.prototype;function Hi(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Vi;return e.__zoom}function Ui(e){e.stopImmediatePropagation()}function Wi(e){e.preventDefault(),e.stopImmediatePropagation()}function Gi(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function Ki(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function qi(){return this.__zoom||Vi}function Ji(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Yi(){return navigator.maxTouchPoints||`ontouchstart`in this}function Xi(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Zi(){var e=Gi,t=Ki,n=Xi,r=Ji,i=Yi,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Qn,l=d(`start`,`zoom`,`end`),u,f,p,m=500,h=150,g=0,_=10;function v(e){e.property(`__zoom`,qi).on(`wheel.zoom`,T,{passive:!1}).on(`mousedown.zoom`,E).on(`dblclick.zoom`,D).filter(i).on(`touchstart.zoom`,O).on(`touchmove.zoom`,k).on(`touchend.zoom touchcancel.zoom`,A).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}v.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,qi),e===i?i.interrupt().each(function(){C(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):S(e,t,n,r)},v.scaleBy=function(e,t,n,r){v.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},v.scaleTo=function(e,r,i,a){v.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?x(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(b(y(a,l),s,c),e,o)},i,a)},v.translateBy=function(e,r,i,a){v.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},v.translateTo=function(e,r,i,a,s){v.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?x(e):typeof a==`function`?a.apply(this,arguments):a;return n(Vi.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function y(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Bi(t,e.x,e.y)}function b(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Bi(e.k,r,i)}function x(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function S(e,n,r,i){e.on(`start.zoom`,function(){C(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){C(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=C(e,a).event(i),s=t.apply(e,a),l=r==null?x(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Bi(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function C(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=K(this.that).datum();l.call(e,this.that,new zi(e,{sourceEvent:this.sourceEvent,target:v,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function T(t,...i){if(!e.apply(this,arguments))return;var s=C(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=q(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Dr(this),s.start();Wi(t),s.wheel=setTimeout(d,h),s.zoom(`mouse`,n(b(y(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function E(t,...r){if(p||!e.apply(this,arguments))return;var i=t.currentTarget,a=C(this,r,!0).event(t),s=K(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,f,!0),c=q(t,i),l=t.clientX,u=t.clientY;Dt(t.view),Ui(t),a.mouse=[c,this.__zoom.invert(c)],Dr(this),a.start();function d(e){if(Wi(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>g}a.event(e).zoom(`mouse`,n(b(a.that.__zoom,a.mouse[0]=q(e,i),a.mouse[1]),a.extent,o))}function f(e){s.on(`mousemove.zoom mouseup.zoom`,null),Ot(e.view,a.moved),Wi(e),a.event(e).end()}}function D(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=q(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(b(y(a,u),c,l),t.apply(this,i),o);Wi(r),s>0?K(this).transition().duration(s).call(S,d,c,r):K(this).call(v.transform,d,c,r)}}function O(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=C(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Ui(t),s=0;s<i;++s)c=r[s],l=q(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(f=l[0],u=setTimeout(function(){u=null},m)),Dr(this),a.start())}}function k(e,...t){if(this.__zooming){var r=C(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Wi(e),s=0;s<a;++s)c=i[s],l=q(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=y(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(b(c,l,u),r.extent,o))}}function A(e,...t){if(this.__zooming){var n=C(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Ui(e),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=q(o,this),Math.hypot(f[0]-o[0],f[1]-o[1])<_)){var s=K(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return v.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:Ri(+e),v):r},v.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ri(!!t),v):e},v.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ri(!!e),v):i},v.extent=function(e){return arguments.length?(t=typeof e==`function`?e:Ri([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),v):t},v.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],v):[a[0],a[1]]},v.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],v):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},v.constrain=function(e){return arguments.length?(n=e,v):n},v.duration=function(e){return arguments.length?(s=+e,v):s},v.interpolate=function(e){return arguments.length?(c=e,v):c},v.on=function(){var e=l.on.apply(l,arguments);return e===l?v:e},v.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,v):Math.sqrt(g)},v.tapDistance=function(e){return arguments.length?(_=+e,v):_},v}var Y={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Qi=[[-1/0,-1/0],[1/0,1/0]],$i=[`Enter`,` `,`Escape`],ea={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},ta;(function(e){e.Strict=`strict`,e.Loose=`loose`})(ta||={});var na;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(na||={});var ra;(function(e){e.Partial=`partial`,e.Full=`full`})(ra||={});var ia={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},aa;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(aa||={});var oa;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(oa||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var sa={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},ca=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,la=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),ua=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),da=(e,t=[0,0])=>{let{width:n,height:r}=Ga(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},fa=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):ua(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,Ta(e,ka(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Da(r):{x:0,y:0,width:0,height:0}},pa=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Ta(n,ka(e)),r=!0)}),r?Da(n):{x:0,y:0,width:0,height:0}},ma=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=ja(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},ha=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function ga(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=Ga(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function _a({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Ha(pa(ga(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function va({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,Y.error005());else{let{width:e,height:t}=Ga(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&Wa(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=Wa(d)?xa(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Y.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function ya({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=ha(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var ba=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),xa=(e={x:0,y:0},t,n)=>({x:ba(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ba(e.y,t[0][1],t[1][1]-(n?.height??0))});function Sa(e,t,n){let{width:r,height:i}=Ga(n),{x:a,y:o}=n.internals.positionAbsolute;return xa(e,[[a,o],[a+r,o+i]],t)}var Ca=(e,t,n)=>e<t?ba(Math.abs(e-t),1,t)/t:e>n?-ba(Math.abs(e-n),1,t)/t:0,wa=(e,t,n=15,r=40)=>[Ca(e.x,r,t.width-r)*n,Ca(e.y,r,t.height-r)*n],Ta=(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)}),Ea=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Da=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Oa=(e,t=[0,0])=>{let{x:n,y:r}=ua(e)?e.internals.positionAbsolute:da(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},ka=(e,t=[0,0])=>{let{x:n,y:r}=ua(e)?e.internals.positionAbsolute:da(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Aa=(e,t)=>Da(Ta(Ea(e),Ea(t))),ja=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Ma=(e,t)=>ja(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Na=e=>Pa(e.width)&&Pa(e.height)&&Pa(e.x)&&Pa(e.y),Pa=e=>!isNaN(e)&&isFinite(e),Fa=(e,t)=>(e,t)=>{},Ia=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),La=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Ia(s,o):s},Ra=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function za(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Ba(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=za(e,n),i=za(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=za(e.top??e.y??0,n),i=za(e.bottom??e.y??0,n),a=za(e.left??e.x??0,t),o=za(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Va(e,t,n,r,i,a){let{x:o,y:s}=Ra(e,[t,n,r]),{x:c,y:l}=Ra({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Ha=(e,t,n,r,i,a)=>{let o=Ba(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=ba(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Va(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Ua=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function Wa(e){return e!=null&&e!==`parent`}function Ga(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Ka(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function qa(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Ja(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ya(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Xa(e){return{...ea,...e||{}}}function Za(e){return e===null?null:e?`valid`:`invalid`}function Qa(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=io(e),s=La({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Ia(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var $a=e=>({width:e.offsetWidth,height:e.offsetHeight}),eo=e=>e?.getRootNode?.()||window?.document,to=[`INPUT`,`SELECT`,`TEXTAREA`];function no(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?to.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var ro=e=>`clientX`in e,io=(e,t)=>{let n=ro(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},ao=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...$a(t)}})};function oo({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function so(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function co({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-so(t-r,a),n];case X.Right:return[t+so(r-t,a),n];case X.Top:return[t,n-so(n-i,a)];case X.Bottom:return[t,n+so(i-n,a)]}}function lo({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=co({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=co({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=oo({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function uo({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function fo({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function po({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Ta(ka(e),ka(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Ma({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},Da(a))>0}var mo=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ho=(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)),go=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Y.error006()),t;let r=n.getEdgeId||mo,i;return i=ca(e)?{...e}:{...e,id:r(e)},ho(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function _o({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=uo({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var vo={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},yo=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.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},bo=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function xo({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=vo[t],c=vo[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=yo({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=uo({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function So(e,t,n,r){let i=Math.min(bo(e,t)/2,bo(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Co({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=xo({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=So(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function wo(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function To(e){let{sourceNode:t,targetNode:n}=e;if(!wo(t)||!wo(n))return null;let r=t.internals.handleBounds||Eo(t.handles),i=n.internals.handleBounds||Eo(n.handles),a=Oo(r?.source??[],e.sourceHandle),o=Oo(e.connectionMode===ta.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Y.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=Do(t,a,s),u=Do(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Eo(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Do(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??Ga(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Oo(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ko(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Ao(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=ko(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var jo=1e3,Mo=10,No={nodeOrigin:[0,0],nodeExtent:Qi,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Po={...No,checkEquality:!0};function Fo(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Io(e,t,n){let r=Fo(No,n);for(let n of e.values())if(n.parentId)Vo(n,e,t,r);else{let e=xa(da(n,r.nodeOrigin),Wa(n.extent)?n.extent:r.nodeExtent,Ga(n));n.internals.positionAbsolute=e}}function Lo(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ro(e){return e===`manual`}function zo(e,t,n,r={}){let i=Fo(Po,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ro(i.zIndexMode)?jo:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=xa(da(u,i.nodeOrigin),Wa(u.extent)?u.extent:i.nodeExtent,Ga(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:Lo(u,e),z:Ho(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Vo(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Bo(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Vo(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=Fo(No,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Bo(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Mo),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Uo(e,u,o,s,a&&!Ro(c)?jo:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Ho(e,t,n){let r=Pa(e.zIndex)?e.zIndex:0;return Ro(n)?r:r+(e.selected?t:0)}function Uo(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=Ga(e),l=da(e,n),u=Wa(e.extent)?xa(l,e.extent,c):l,d=xa({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=Sa(d,c,t));let f=Ho(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Wo(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Aa(a.get(n.parentId)?.expandedRect??Oa(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=Ga(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function Go(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=$a(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=Wa(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=Sa(h,s,n))}else m&&(h=xa(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:ao(`source`,r.nodeElement,p,d,e.id),target:ao(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Vo(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Oa(g,i)}))}}if(f.length>0){let e=Wo(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Ko({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function qo(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Jo(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;qo(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),qo(`target`,s,c,e,i,o),t.set(r.id,r)}}function Yo(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Yo(n,t):!1}function Xo(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Zo(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Yo(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Qo({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function $o({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Ia(a,t);return{x:o.x-a.x,y:o.y-a.y}}function es({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=K(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?Ea(pa(s)):null,x=v&&l?$o({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Ia(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=va({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Qo({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=wa(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=Qa(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Zo(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Qo({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Ft().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=Qa(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=io(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=Qa(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=io(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=io(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Qo({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Xo(t,`.${g}`,v))&&(!_||Xo(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function ts(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Ma(i,Oa(e))>0&&r.push(e);return r}var ns=250;function rs(e,t,n,r){let i=[],a=1/0,o=ts(e,n,t+ns);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Do(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function is(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Do(o,c,c.position,!0)}:c}function as(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function os(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var ss=()=>!0;function cs(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=ss,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=eo(e.target),E=0,D,{x:O,y:k}=io(e),A=as(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=is(i,A,r,c,t);if(!N)return;let P=io(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=wa(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:Do(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:sa[B.position],toNode:null,pointer:P};function ee(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&ee();function U(e){if(!M){let{x:t,y:n}=io(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;ee()}if(!x()||!B){W(e);return}let a=b();P=io(e,j),D=rs(La(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=ls(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=os(!!D,s.isValid);let u=c.get(i),f=u?Do(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?Ra({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:sa[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function W(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,U),T.removeEventListener(`mouseup`,W),T.removeEventListener(`touchmove`,U),T.removeEventListener(`touchend`,W)}}T.addEventListener(`mousemove`,U),T.addEventListener(`mouseup`,W),T.addEventListener(`touchmove`,U),T.addEventListener(`touchend`,W)}function ls(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=ss,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=io(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=as(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===ta.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=is(t,e,a,u,n,!0)}return _}var us={onPointerDown:cs,isValid:ls};function ds({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=K(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Ua()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Zi().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:q}}var fs=e=>({x:e.x,y:e.y,zoom:e.k}),ps=({x:e,y:t,zoom:n})=>Vi.translate(e,t).scale(n),ms=(e,t)=>e.target.closest(`.${t}`),hs=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),gs=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,_s=(e,t=0,n=gs,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},vs=e=>{let t=e.ctrlKey&&Ua()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function ys({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(ms(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=q(u),t=d*2**vs(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===na.Vertical?0:u.deltaX*f,m=i===na.Horizontal?0:u.deltaY*f;!Ua()&&u.shiftKey&&i!==na.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=fs(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function bs({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=ms(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function xs({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=fs(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Ss({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&hs(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,fs(a.transform))}}function Cs({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&hs(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=fs(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function ws({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(ms(f,`${u}-flow__node`)||ms(f,`${u}-flow__edge`)||ms(f,`${u}-flow__selection`)||ms(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||ms(f,c)&&h||ms(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function Ts({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=Zi().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=K(e).call(f);y({x:i.x,y:i.y,zoom:ba(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(vs);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).transform(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!Pa(D)||D<0?0:D);let A=k?ys({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):bs({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=xs({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=Ss({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=Cs({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=ws({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=ps(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=ps(e);return await g(n,t),n}function x(e){if(p){let t=ps(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Hi(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).scaleTo(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Rn:Qn).scaleBy(_s(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!Pa(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var Es;(function(e){e.Line=`line`,e.Handle=`handle`})(Es||={});function Ds({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Os(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function ks(e,t){return Math.max(0,t-e)}function As(e,t){return Math.max(0,e-t)}function js(e,t,n){return Math.max(0,t-e,e-n)}function Ms(e,t){return e?!t:t}function Ns(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=js(E,h,g),j=js(D,_,v);if(o){let e=0,t=0;c&&w<0?e=ks(y+w+O,o[0][0]):!c&&w>0&&(e=As(y+E+O,o[1][0])),l&&T<0?t=ks(b+T+k,o[0][1]):!l&&T>0&&(t=As(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=As(y+w,s[0][0]):!c&&w<0&&(e=ks(y+E,s[1][0])),l&&T>0?t=As(b+T,s[0][1]):!l&&T<0&&(t=ks(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=js(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?As(b+k+E/C,o[1][1])*C:ks(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?ks(b+E/C,s[1][1])*C:As(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=js(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?As(y+D*C+O,o[1][0])/C:ks(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?ks(y+D*C,s[1][0])/C:As(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Ms(c,l)?-w:w)/C:w=(Ms(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Ps={width:0,height:0,x:0,y:0},Fs={...Ps,pointerX:0,pointerY:0,aspectRatio:1};function Is(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Ls({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=K(e),o={controlDirection:Os(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Ps},h={...Fs};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Os(e)};let g,_=null,v=[],y,b,x,S=!1,C=Ft().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=Qa(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=Wa(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Is(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=Qa(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:C,height:w}=m,T={},E=g.origin??s,{width:D,height:O,x:k,y:A}=Ns(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,b,x),j=D!==C,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,v.length>0)){let e=k-u,t=A-f;for(let n of v)n.position={x:n.position.x-e+E[0]*(D-C),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),y&&g.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,h.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,h.y-=T.y-t)}let F=Ds({width:m.width,prevWidth:C,height:m.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)!==!1&&(S=!0,d?.(e,I),r(T,l))}).on(`end`,e=>{S&&=(f?.(e,{...m}),i?.({...m}),!1)});a.call(C)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Rs=t((e=>{var t=n(),r=o();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,s=r.useSyncExternalStore,c=t.useRef,l=t.useEffect,u=t.useMemo,d=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=c(null);if(o.current===null){var f={hasValue:!1,value:null};o.current=f}else f=o.current;o=u(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,o[0],o[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),zs=e(t(((e,t)=>{t.exports=Rs()}))(),1),Bs=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Vs=e=>e?Bs(e):Bs,{useDebugValue:Hs}=s.default,{useSyncExternalStoreWithSelector:Us}=zs.default,Ws=e=>e;function Gs(e,t=Ws,n){let r=Us(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Hs(r),r}var Ks=(e,t)=>{let n=Vs(e),r=(e,r=t)=>Gs(n,e,r);return Object.assign(r,n),r},qs=(e,t)=>e?Ks(e,t):Ks;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var Js=e(r()),Ys=(0,s.createContext)(null),Xs=Ys.Provider,Zs=Y.error001(`react`);function Q(e,t){let n=(0,s.useContext)(Ys);if(n===null)throw Error(Zs);return Gs(n,e,t)}function $(){let e=(0,s.useContext)(Ys);if(e===null)throw Error(Zs);return(0,s.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Qs={display:`none`},$s={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},ec=`react-flow__node-desc`,tc=`react-flow__edge-desc`,nc=`react-flow__aria-live`,rc=e=>e.ariaLiveMessage,ic=e=>e.ariaLabelConfig;function ac({rfId:e}){let t=Q(rc);return(0,c.jsx)(`div`,{id:`${nc}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:$s,children:t})}function oc({rfId:e,disableKeyboardA11y:t}){let n=Q(ic);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{id:`${ec}-${e}`,style:Qs,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,c.jsx)(`div`,{id:`${tc}-${e}`,style:Qs,children:n[`edge.a11yDescription.default`]}),!t&&(0,c.jsx)(ac,{rfId:e})]})}var sc=(0,s.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,c.jsx)(`div`,{className:l([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});sc.displayName=`Panel`;var cc=`https://reactflow.dev?utm_source=attribution`;function lc({proOptions:e,position:t=`bottom-right`}){return(0,s.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,c.jsx)(sc,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${cc}`,children:(0,c.jsx)(`a`,{href:cc,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var uc=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},dc=e=>e.id;function fc(e,t){return Z(e.selectedNodes.map(dc),t.selectedNodes.map(dc))&&Z(e.selectedEdges.map(dc),t.selectedEdges.map(dc))}function pc({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(uc,fc);return(0,s.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var mc=e=>!!e.onSelectionChangeHandlers;function hc({onSelectionChange:e}){let t=Q(mc);return e||t?(0,c.jsx)(pc,{onSelectionChange:e}):null}var gc=[0,0],_c={x:0,y:0,zoom:1},vc=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],yc=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),bc={translateExtent:Qi,nodeOrigin:gc,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function xc(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:c,setDefaultNodesAndEdges:l}=Q(yc,Z),u=$();(0,s.useEffect)(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=bc,c()}),[]);let d=(0,s.useRef)(bc);return(0,s.useEffect)(()=>{for(let s of vc){let c=e[s];c!==d.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?u.setState({ariaLabelConfig:Xa(c)}):s===`fitView`?u.setState({fitViewQueued:c}):s===`fitViewOptions`?u.setState({fitViewOptions:c}):u.setState({[s]:c}))}d.current=e},vc.map(t=>e[t])),null}function Sc(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Cc(e){let[t,n]=(0,s.useState)(e===`system`?null:e);return(0,s.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Sc(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Sc()?.matches?`dark`:`light`:t}var wc=typeof document<`u`?document:null;function Tc(e=null,t={target:wc,actInsideInputWithModifier:!0}){let[n,r]=(0,s.useState)(!1),i=(0,s.useRef)(!1),a=(0,s.useRef)(new Set([])),[o,c]=(0,s.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
2
2
|
`).replace(`
|
|
3
3
|
|
|
4
4
|
`,`
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
export declare function isDestructiveConfirm(info: {
|
|
2
|
+
decisionSource?: string | undefined;
|
|
3
|
+
riskTier?: 'safe' | 'standard' | 'destructive' | undefined;
|
|
4
|
+
}): boolean;
|
|
1
5
|
export declare function ConfirmDialog(): import("react").JSX.Element | null;
|
|
2
6
|
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -1,14 +1,42 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
1
2
|
import type { MainView } from '@/lib/view-navigation';
|
|
2
3
|
import { type Activity } from '@/stores';
|
|
4
|
+
interface PanelDef {
|
|
5
|
+
id: Activity;
|
|
6
|
+
icon: ReactElement;
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
interface ViewDef {
|
|
10
|
+
id: MainView;
|
|
11
|
+
icon: ReactElement;
|
|
12
|
+
label: string;
|
|
13
|
+
}
|
|
3
14
|
export declare function calculateDesktopActivityCapacity(viewportHeight: number, isDesktopShell: boolean): number;
|
|
4
|
-
export declare function splitDesktopActivityBarItems(capacity: number): {
|
|
15
|
+
export declare function splitDesktopActivityBarItems(capacity: number, orderedPanels?: readonly PanelDef[], orderedViews?: readonly ViewDef[]): {
|
|
5
16
|
visiblePanelIds: Activity[];
|
|
6
17
|
overflowPanelIds: Activity[];
|
|
7
18
|
visibleViewIds: MainView[];
|
|
8
19
|
overflowViewIds: MainView[];
|
|
9
20
|
};
|
|
10
21
|
export declare const PANEL_ORDER: readonly Activity[];
|
|
22
|
+
/** Reorder `defaults` to follow `custom` (ids), dropping unknown entries and
|
|
23
|
+
* appending anything from `defaults` that `custom` omitted. New icons
|
|
24
|
+
* added to `defaults` after the user saved their order automatically
|
|
25
|
+
* appear at the end. */
|
|
26
|
+
export declare function resolveActivityOrder<T extends {
|
|
27
|
+
id: string;
|
|
28
|
+
}>(defaults: readonly T[], custom: readonly string[] | null | undefined): T[];
|
|
29
|
+
/** Render `defaults` with the items listed in `locked` occupying their
|
|
30
|
+
* original indices, and the rest of the items filled in the custom order
|
|
31
|
+
* (filtering out unknown ids, deduping). Locked anchors cannot move. */
|
|
32
|
+
export declare function applyLockedAnchors<T extends {
|
|
33
|
+
id: string;
|
|
34
|
+
}>(defaults: readonly T[], custom: readonly string[] | null | undefined, locked: ReadonlySet<string>): T[];
|
|
35
|
+
/** Move `fromId` to the position currently held by `toId`. Returns the
|
|
36
|
+
* original ids when either id is missing. */
|
|
37
|
+
export declare function moveItemId<T extends string>(ids: readonly T[], fromId: string, toId: string): T[];
|
|
11
38
|
export declare function ActivityBar({ desktopShell }: {
|
|
12
39
|
desktopShell?: boolean | undefined;
|
|
13
40
|
}): import("react").JSX.Element;
|
|
41
|
+
export {};
|
|
14
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -14,7 +14,7 @@ interface UseDesktopBridgeOptions {
|
|
|
14
14
|
/**
|
|
15
15
|
* Desktop-shell bridge integration.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
17
|
+
* Four responsibilities, all scoped to the Electron desktop shell (browser
|
|
18
18
|
* users see no-ops):
|
|
19
19
|
*
|
|
20
20
|
* 1. **Nav reset** — collapse the sidebar on first mount when running inside
|
|
@@ -24,6 +24,8 @@ interface UseDesktopBridgeOptions {
|
|
|
24
24
|
* 3. **Command bridge** — subscribe to `wrongstackDesktopCommands` (native →
|
|
25
25
|
* WebUI) and `wrongstack:desktop-command` (legacy event) and dispatch
|
|
26
26
|
* view/nav/overlay/tool actions the native sidebar sends.
|
|
27
|
+
* 4. **Open tabs** — publish only the four live slots to the native project
|
|
28
|
+
* tree, and accept focus commands only for a slot that is already open.
|
|
27
29
|
*/
|
|
28
30
|
export declare function useDesktopBridge(options: UseDesktopBridgeOptions): void;
|
|
29
31
|
export {};
|
|
@@ -9,6 +9,7 @@ export declare function handleToolStarted(msg: WSServerMessage): void;
|
|
|
9
9
|
export declare function handleToolProgress(msg: WSServerMessage): void;
|
|
10
10
|
export declare function handleToolExecuted(msg: WSServerMessage): void;
|
|
11
11
|
export declare function handleToolConfirmNeeded(msg: WSServerMessage): void;
|
|
12
|
+
export declare function handleToolConfirmResolved(msg: WSServerMessage): void;
|
|
12
13
|
/**
|
|
13
14
|
* Reconcile one tab's spinner with the server's answer.
|
|
14
15
|
*
|