@shepai/cli 1.149.0 → 1.149.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.js +4 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +6 -3
- package/dist/src/presentation/web/next.config.d.ts.map +1 -1
- package/dist/src/presentation/web/next.config.js +0 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -3
- package/web/.next/required-server-files.json +2 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0d33c29e._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0d33c29e._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__25f23d5d._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__25f23d5d._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__26565141._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__26565141._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2b1074db._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2b1074db._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2f61738a._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2f61738a._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__9a136c79._.js +3 -3
- package/web/.next/server/chunks/[root-of-the-server]__9a136c79._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a5879003._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a5879003._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b2f9a412._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b2f9a412._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__d2c18946._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__d2c18946._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__fc6fd958._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__fc6fd958._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0c5f56e3._.js +2 -2
- package/web/.next/server/chunks/ssr/_0c5f56e3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5022e2b1._.js → _2b873e3b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5022e2b1._.js.map → _2b873e3b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_64bdfc6f._.js +2 -2
- package/web/.next/server/chunks/ssr/_64bdfc6f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8fcc39d4._.js +1 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js +1 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ee80b25c._.js +3 -0
- package/web/.next/server/chunks/ssr/{_458e9a64._.js.map → _ee80b25c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_35159458._.js → src_presentation_web_91545e86._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_35159458._.js.map → src_presentation_web_91545e86._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +44 -44
- package/web/.next/static/chunks/{d3df6e6434e16519.js → 213bc4d2c2c7885a.js} +1 -1
- package/web/.next/static/chunks/42a1e8928c2a8b1e.js +1 -0
- package/web/.next/static/chunks/{75834e430247b325.js → 6b7b66ce14353296.js} +1 -1
- package/web/.next/static/chunks/70917246e2079de0.js +1 -0
- package/web/.next/static/chunks/{fe5d48f8ca483935.js → 932fdc72f19fba16.js} +1 -1
- package/web/.next/static/chunks/{3e7a130816229439.js → 9522b3e38757bf73.js} +1 -1
- package/web/.next/static/chunks/{a6363f73e05ccf47.js → c8c503403d49f600.js} +1 -1
- package/web/.next/static/chunks/{3f1b33498b472b00.js → d3e9784c18cc85e9.js} +1 -1
- package/web/.next/static/chunks/{4ef564fb1174e497.js → e23f0c8da44fe4ca.js} +1 -1
- package/web/.next/static/chunks/{eaca60cc3ab0bf9f.js → ee210d2383098e91.js} +1 -1
- package/web/.next/static/chunks/faf6b0ec1cf9125c.js +5 -0
- package/web/.next/static/chunks/{b7126c0b3a97e77e.js → fbf933fea8dd21f4.js} +1 -1
- package/web/.next/server/chunks/ssr/_458e9a64._.js +0 -3
- package/web/.next/static/chunks/24b1c1e60fd3b7b5.js +0 -5
- package/web/.next/static/chunks/79dc2e2f1c2ff519.js +0 -1
- package/web/.next/static/chunks/a086f8dfef2c3325.js +0 -1
- /package/web/.next/static/{1CQHYZVn3VajyhdvnsCaw → 0-b0NgavBiu5Fo1rzdeX2}/_buildManifest.js +0 -0
- /package/web/.next/static/{1CQHYZVn3VajyhdvnsCaw → 0-b0NgavBiu5Fo1rzdeX2}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{1CQHYZVn3VajyhdvnsCaw → 0-b0NgavBiu5Fo1rzdeX2}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[31187,(a,b,c)=>{"use strict";var d=a.r(96960);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},7108,(a,b,c)=>{"use strict";b.exports=a.r(31187)},39687,(a,b,c)=>{"use strict";var d=a.r(96960),e=a.r(7108),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},11456,(a,b,c)=>{"use strict";b.exports=a.r(39687)},84945,60047,a=>{"use strict";var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s=a.i(10973),t=a.i(96960);function u(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=u(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var v={value:()=>{}};function w(){for(var a,b=0,c=arguments.length,d={};b<c;++b){if(!(a=arguments[b]+"")||a in d||/[\s.]/.test(a))throw Error("illegal type: "+a);d[a]=[]}return new x(d)}function x(a){this._=a}function y(a,b,c){for(var d=0,e=a.length;d<e;++d)if(a[d].name===b){a[d]=v,a=a.slice(0,d).concat(a.slice(d+1));break}return null!=c&&a.push({name:b,value:c}),a}function z(){}function A(a){return null==a?z:function(){return this.querySelector(a)}}function B(){return[]}function C(a){return null==a?B:function(){return this.querySelectorAll(a)}}function D(a){return function(){return this.matches(a)}}function E(a){return function(b){return b.matches(a)}}x.prototype=w.prototype={constructor:x,on:function(a,b){var c,d=this._,e=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");if(c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),a&&!d.hasOwnProperty(a))throw Error("unknown type: "+a);return{type:a,name:b}}),f=-1,g=e.length;if(arguments.length<2){for(;++f<g;)if((c=(a=e[f]).type)&&(c=function(a,b){for(var c,d=0,e=a.length;d<e;++d)if((c=a[d]).name===b)return c.value}(d[c],a.name)))return c;return}if(null!=b&&"function"!=typeof b)throw Error("invalid callback: "+b);for(;++f<g;)if(c=(a=e[f]).type)d[c]=y(d[c],a.name,b);else if(null==b)for(c in d)d[c]=y(d[c],a.name,null);return this},copy:function(){var a={},b=this._;for(var c in b)a[c]=b[c].slice();return new x(a)},call:function(a,b){if((c=arguments.length-2)>0)for(var c,d,e=Array(c),f=0;f<c;++f)e[f]=arguments[f+2];if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(d=this._[a],f=0,c=d.length;f<c;++f)d[f].value.apply(b,e)},apply:function(a,b,c){if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(var d=this._[a],e=0,f=d.length;e<f;++e)d[e].value.apply(b,c)}};var F=Array.prototype.find;function G(){return this.firstElementChild}var H=Array.prototype.filter;function I(){return Array.from(this.children)}function J(a){return Array(a.length)}function K(a,b){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=b}function L(a,b,c,d,e,f){for(var g,h=0,i=b.length,j=f.length;h<j;++h)(g=b[h])?(g.__data__=f[h],d[h]=g):c[h]=new K(a,f[h]);for(;h<i;++h)(g=b[h])&&(e[h]=g)}function M(a,b,c,d,e,f,g){var h,i,j,k=new Map,l=b.length,m=f.length,n=Array(l);for(h=0;h<l;++h)(i=b[h])&&(n[h]=j=g.call(i,i.__data__,h,b)+"",k.has(j)?e[h]=i:k.set(j,i));for(h=0;h<m;++h)j=g.call(a,f[h],h,f)+"",(i=k.get(j))?(d[h]=i,i.__data__=f[h],k.delete(j)):c[h]=new K(a,f[h]);for(h=0;h<l;++h)(i=b[h])&&k.get(n[h])===i&&(e[h]=i)}function N(a){return a.__data__}function O(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}K.prototype={constructor:K,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,b){return this._parent.insertBefore(a,b)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};var P="http://www.w3.org/1999/xhtml";let Q={svg:"http://www.w3.org/2000/svg",xhtml:P,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function R(a){var b=a+="",c=b.indexOf(":");return c>=0&&"xmlns"!==(b=a.slice(0,c))&&(a=a.slice(c+1)),Q.hasOwnProperty(b)?{space:Q[b],local:a}:a}function S(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function T(a,b){return a.style.getPropertyValue(b)||S(a).getComputedStyle(a,null).getPropertyValue(b)}function U(a){return a.trim().split(/^|\s+/)}function V(a){return a.classList||new W(a)}function W(a){this._node=a,this._names=U(a.getAttribute("class")||"")}function X(a,b){for(var c=V(a),d=-1,e=b.length;++d<e;)c.add(b[d])}function Y(a,b){for(var c=V(a),d=-1,e=b.length;++d<e;)c.remove(b[d])}function Z(){this.textContent=""}function $(){this.innerHTML=""}function _(){this.nextSibling&&this.parentNode.appendChild(this)}function aa(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ab(a){var b=R(a);return(b.local?function(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}:function(a){return function(){var b=this.ownerDocument,c=this.namespaceURI;return c===P&&b.documentElement.namespaceURI===P?b.createElement(a):b.createElementNS(c,a)}})(b)}function ac(){return null}function ad(){var a=this.parentNode;a&&a.removeChild(this)}function ae(){var a=this.cloneNode(!1),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function af(){var a=this.cloneNode(!0),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function ag(a){return function(){var b=this.__on;if(b){for(var c,d=0,e=-1,f=b.length;d<f;++d)(c=b[d],a.type&&c.type!==a.type||c.name!==a.name)?b[++e]=c:this.removeEventListener(c.type,c.listener,c.options);++e?b.length=e:delete this.__on}}}function ah(a,b,c){return function(){var d,e=this.__on,f=function(a){b.call(this,a,this.__data__)};if(e){for(var g=0,h=e.length;g<h;++g)if((d=e[g]).type===a.type&&d.name===a.name){this.removeEventListener(d.type,d.listener,d.options),this.addEventListener(d.type,d.listener=f,d.options=c),d.value=b;return}}this.addEventListener(a.type,f,c),d={type:a.type,name:a.name,value:b,listener:f,options:c},e?e.push(d):this.__on=[d]}}function ai(a,b,c){var d=S(a),e=d.CustomEvent;"function"==typeof e?e=new e(b,c):(e=d.document.createEvent("Event"),c?(e.initEvent(b,c.bubbles,c.cancelable),e.detail=c.detail):e.initEvent(b,!1,!1)),a.dispatchEvent(e)}W.prototype={add:function(a){0>this._names.indexOf(a)&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var b=this._names.indexOf(a);b>=0&&(this._names.splice(b,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};var aj=[null];function ak(a,b){this._groups=a,this._parents=b}function al(){return new ak([[document.documentElement]],aj)}function am(a){return"string"==typeof a?new ak([[document.querySelector(a)]],[document.documentElement]):new ak([[a]],aj)}function an(a,b){if(a=function(a){let b;for(;b=a.sourceEvent;)a=b;return a}(a),void 0===b&&(b=a.currentTarget),b){var c=b.ownerSVGElement||b;if(c.createSVGPoint){var d=c.createSVGPoint();return d.x=a.clientX,d.y=a.clientY,[(d=d.matrixTransform(b.getScreenCTM().inverse())).x,d.y]}if(b.getBoundingClientRect){var e=b.getBoundingClientRect();return[a.clientX-e.left-b.clientLeft,a.clientY-e.top-b.clientTop]}}return[a.pageX,a.pageY]}ak.prototype=al.prototype={constructor:ak,select:function(a){"function"!=typeof a&&(a=A(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g,h=b[e],i=h.length,j=d[e]=Array(i),k=0;k<i;++k)(f=h[k])&&(g=a.call(f,f.__data__,k,h))&&("__data__"in f&&(g.__data__=f.__data__),j[k]=g);return new ak(d,this._parents)},selectAll:function(a){if("function"==typeof a){var b;b=a,a=function(){var a;return a=b.apply(this,arguments),null==a?[]:Array.isArray(a)?a:Array.from(a)}}else a=C(a);for(var c=this._groups,d=c.length,e=[],f=[],g=0;g<d;++g)for(var h,i=c[g],j=i.length,k=0;k<j;++k)(h=i[k])&&(e.push(a.call(h,h.__data__,k,i)),f.push(h));return new ak(e,f)},selectChild:function(a){var b;return this.select(null==a?G:(b="function"==typeof a?a:E(a),function(){return F.call(this.children,b)}))},selectChildren:function(a){var b;return this.selectAll(null==a?I:(b="function"==typeof a?a:E(a),function(){return H.call(this.children,b)}))},filter:function(a){"function"!=typeof a&&(a=D(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new ak(d,this._parents)},data:function(a,b){if(!arguments.length)return Array.from(this,N);var c=b?M:L,d=this._parents,e=this._groups;"function"!=typeof a&&(s=a,a=function(){return s});for(var f=e.length,g=Array(f),h=Array(f),i=Array(f),j=0;j<f;++j){var k=d[j],l=e[j],m=l.length,n="object"==typeof(r=a.call(k,k&&k.__data__,j,d))&&"length"in r?r:Array.from(r),o=n.length,p=h[j]=Array(o),q=g[j]=Array(o);c(k,l,p,q,i[j]=Array(m),n,b);for(var r,s,t,u,v=0,w=0;v<o;++v)if(t=p[v]){for(v>=w&&(w=v+1);!(u=q[w])&&++w<o;);t._next=u||null}}return(g=new ak(g,d))._enter=h,g._exit=i,g},enter:function(){return new ak(this._enter||this._groups.map(J),this._parents)},exit:function(){return new ak(this._exit||this._groups.map(J),this._parents)},join:function(a,b,c){var d=this.enter(),e=this,f=this.exit();return"function"==typeof a?(d=a(d))&&(d=d.selection()):d=d.append(a+""),null!=b&&(e=b(e))&&(e=e.selection()),null==c?f.remove():c(f),d&&e?d.merge(e).order():e},merge:function(a){for(var b=a.selection?a.selection():a,c=this._groups,d=b._groups,e=c.length,f=d.length,g=Math.min(e,f),h=Array(e),i=0;i<g;++i)for(var j,k=c[i],l=d[i],m=k.length,n=h[i]=Array(m),o=0;o<m;++o)(j=k[o]||l[o])&&(n[o]=j);for(;i<e;++i)h[i]=c[i];return new ak(h,this._parents)},selection:function(){return this},order:function(){for(var a=this._groups,b=-1,c=a.length;++b<c;)for(var d,e=a[b],f=e.length-1,g=e[f];--f>=0;)(d=e[f])&&(g&&4^d.compareDocumentPosition(g)&&g.parentNode.insertBefore(d,g),g=d);return this},sort:function(a){function b(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}a||(a=O);for(var c=this._groups,d=c.length,e=Array(d),f=0;f<d;++f){for(var g,h=c[f],i=h.length,j=e[f]=Array(i),k=0;k<i;++k)(g=h[k])&&(j[k]=g);j.sort(b)}return new ak(e,this._parents).order()},call:function(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d=a[b],e=0,f=d.length;e<f;++e){var g=d[e];if(g)return g}return null},size:function(){let a=0;for(let b of this)++a;return a},empty:function(){return!this.node()},each:function(a){for(var b=this._groups,c=0,d=b.length;c<d;++c)for(var e,f=b[c],g=0,h=f.length;g<h;++g)(e=f[g])&&a.call(e,e.__data__,g,f);return this},attr:function(a,b){var c=R(a);if(arguments.length<2){var d=this.node();return c.local?d.getAttributeNS(c.space,c.local):d.getAttribute(c)}return this.each((null==b?c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}}:"function"==typeof b?c.local?function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}}:function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}}:c.local?function(a,b){return function(){this.setAttributeNS(a.space,a.local,b)}}:function(a,b){return function(){this.setAttribute(a,b)}})(c,b))},style:function(a,b,c){return arguments.length>1?this.each((null==b?function(a){return function(){this.style.removeProperty(a)}}:"function"==typeof b?function(a,b,c){return function(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}}:function(a,b,c){return function(){this.style.setProperty(a,b,c)}})(a,b,null==c?"":c)):T(this.node(),a)},property:function(a,b){return arguments.length>1?this.each((null==b?function(a){return function(){delete this[a]}}:"function"==typeof b?function(a,b){return function(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}}:function(a,b){return function(){this[a]=b}})(a,b)):this.node()[a]},classed:function(a,b){var c=U(a+"");if(arguments.length<2){for(var d=V(this.node()),e=-1,f=c.length;++e<f;)if(!d.contains(c[e]))return!1;return!0}return this.each(("function"==typeof b?function(a,b){return function(){(b.apply(this,arguments)?X:Y)(this,a)}}:b?function(a){return function(){X(this,a)}}:function(a){return function(){Y(this,a)}})(c,b))},text:function(a){return arguments.length?this.each(null==a?Z:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}}:function(a){return function(){this.textContent=a}})(a)):this.node().textContent},html:function(a){return arguments.length?this.each(null==a?$:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}}:function(a){return function(){this.innerHTML=a}})(a)):this.node().innerHTML},raise:function(){return this.each(_)},lower:function(){return this.each(aa)},append:function(a){var b="function"==typeof a?a:ab(a);return this.select(function(){return this.appendChild(b.apply(this,arguments))})},insert:function(a,b){var c="function"==typeof a?a:ab(a),d=null==b?ac:"function"==typeof b?b:A(b);return this.select(function(){return this.insertBefore(c.apply(this,arguments),d.apply(this,arguments)||null)})},remove:function(){return this.each(ad)},clone:function(a){return this.select(a?af:ae)},datum:function(a){return arguments.length?this.property("__data__",a):this.node().__data__},on:function(a,b,c){var d,e,f=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");return c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),{type:a,name:b}}),g=f.length;if(arguments.length<2){var h=this.node().__on;if(h){for(var i,j=0,k=h.length;j<k;++j)for(d=0,i=h[j];d<g;++d)if((e=f[d]).type===i.type&&e.name===i.name)return i.value}return}for(d=0,h=b?ah:ag;d<g;++d)this.each(h(f[d],b,c));return this},dispatch:function(a,b){return this.each(("function"==typeof b?function(a,b){return function(){return ai(this,a,b.apply(this,arguments))}}:function(a,b){return function(){return ai(this,a,b)}})(a,b))},[Symbol.iterator]:function*(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d,e=a[b],f=0,g=e.length;f<g;++f)(d=e[f])&&(yield d)}};let ao={passive:!1},ap={capture:!0,passive:!1};function aq(a){a.stopImmediatePropagation()}function ar(a){a.preventDefault(),a.stopImmediatePropagation()}function as(a){var b=a.document.documentElement,c=am(a).on("dragstart.drag",ar,ap);"onselectstart"in b?c.on("selectstart.drag",ar,ap):(b.__noselect=b.style.MozUserSelect,b.style.MozUserSelect="none")}function at(a,b){var c=a.document.documentElement,d=am(a).on("dragstart.drag",null);b&&(d.on("click.drag",ar,ap),setTimeout(function(){d.on("click.drag",null)},0)),"onselectstart"in c?d.on("selectstart.drag",null):(c.style.MozUserSelect=c.__noselect,delete c.__noselect)}let au=a=>()=>a;function av(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function aw(a){return!a.ctrlKey&&!a.button}function ax(){return this.parentNode}function ay(a,b){return null==b?{x:a.x,y:a.y}:b}function az(){return navigator.maxTouchPoints||"ontouchstart"in this}function aA(){var a,b,c,d,e=aw,f=ax,g=ay,h=az,i={},j=w("start","drag","end"),k=0,l=0;function m(a){a.on("mousedown.drag",n).filter(h).on("touchstart.drag",q).on("touchmove.drag",r,ao).on("touchend.drag touchcancel.drag",s).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function n(g,h){if(!d&&e.call(this,g,h)){var i=t(this,f.call(this,g,h),g,h,"mouse");i&&(am(g.view).on("mousemove.drag",o,ap).on("mouseup.drag",p,ap),as(g.view),aq(g),c=!1,a=g.clientX,b=g.clientY,i("start",g))}}function o(d){if(ar(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>l}i.mouse("drag",d)}function p(a){am(a.view).on("mousemove.drag mouseup.drag",null),at(a.view,c),ar(a),i.mouse("end",a)}function q(a,b){if(e.call(this,a,b)){var c,d,g=a.changedTouches,h=f.call(this,a,b),i=g.length;for(c=0;c<i;++c)(d=t(this,h,a,b,g[c].identifier,g[c]))&&(aq(a),d("start",a,g[c]))}}function r(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=i[d[b].identifier])&&(ar(a),c("drag",a,d[b]))}function s(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=i[e[b].identifier])&&(aq(a),c("end",a,e[b]))}function t(a,b,c,d,e,f){var h,l,n,o=j.copy(),p=an(f||c,b);if(null!=(n=g.call(a,new av("beforestart",{sourceEvent:c,target:m,identifier:e,active:k,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return h=n.x-p[0]||0,l=n.y-p[1]||0,function c(f,g,j){var q,r=p;switch(f){case"start":i[e]=c,q=k++;break;case"end":delete i[e],--k;case"drag":p=an(j||g,b),q=k}o.call(f,a,new av(f,{sourceEvent:g,subject:n,target:m,identifier:e,active:q,x:p[0]+h,y:p[1]+l,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return m.filter=function(a){return arguments.length?(e="function"==typeof a?a:au(!!a),m):e},m.container=function(a){return arguments.length?(f="function"==typeof a?a:au(a),m):f},m.subject=function(a){return arguments.length?(g="function"==typeof a?a:au(a),m):g},m.touchable=function(a){return arguments.length?(h="function"==typeof a?a:au(!!a),m):h},m.on=function(){var a=j.on.apply(j,arguments);return a===j?m:a},m.clickDistance=function(a){return arguments.length?(l=(a*=1)*a,m):Math.sqrt(l)},m}function aB(a){return((a=Math.exp(a))+1/a)/2}av.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a};let aC=function a(b,c,d){function e(a,e){var f,g,h=a[0],i=a[1],j=a[2],k=e[0],l=e[1],m=e[2],n=k-h,o=l-i,p=n*n+o*o;if(p<1e-12)g=Math.log(m/j)/b,f=function(a){return[h+a*n,i+a*o,j*Math.exp(b*a*g)]};else{var q=Math.sqrt(p),r=(m*m-j*j+d*p)/(2*j*c*q),s=(m*m-j*j-d*p)/(2*m*c*q),t=Math.log(Math.sqrt(r*r+1)-r);g=(Math.log(Math.sqrt(s*s+1)-s)-t)/b,f=function(a){var d,e,f=a*g,k=aB(t),l=j/(c*q)*(k*(((d=Math.exp(2*(d=b*f+t)))-1)/(d+1))-((e=Math.exp(e=t))-1/e)/2);return[h+l*n,i+l*o,j*k/aB(b*f+t)]}}return f.duration=1e3*g*b/Math.SQRT2,f}return e.rho=function(b){var c=Math.max(.001,+b),d=c*c;return a(c,d,d*d)},e}(Math.SQRT2,2,4);var aD,aE,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL="object"==typeof performance&&performance.now?performance:Date,aM=function(a){setTimeout(a,17)};function aN(){return aJ||(aM(aO),aJ=aL.now()+aK)}function aO(){aJ=0}function aP(){this._call=this._time=this._next=null}function aQ(a,b,c){var d=new aP;return d.restart(a,b,c),d}function aR(){aJ=(aI=aL.now())+aK,aF=aG=0;try{aN(),++aF;for(var a,b=aD;b;)(a=aJ-b._time)>=0&&b._call.call(void 0,a),b=b._next;--aF}finally{aF=0,function(){for(var a,b,c=aD,d=1/0;c;)c._call?(d>c._time&&(d=c._time),a=c,c=c._next):(b=c._next,c._next=null,c=a?a._next=b:aD=b);aE=a,aT(d)}(),aJ=0}}function aS(){var a=aL.now(),b=a-aI;b>1e3&&(aK-=b,aI=a)}function aT(a){!aF&&(aG&&(aG=clearTimeout(aG)),a-aJ>24?(a<1/0&&(aG=setTimeout(aR,a-aL.now()-aK)),aH&&(aH=clearInterval(aH))):(aH||(aI=aL.now(),aH=setInterval(aS,1e3)),aF=1,aM(aR)))}function aU(a,b,c){var d=new aP;return b=null==b?0:+b,d.restart(c=>{d.stop(),a(c+b)},b,c),d}aP.prototype=aQ.prototype={constructor:aP,restart:function(a,b,c){if("function"!=typeof a)throw TypeError("callback is not a function");c=(null==c?aN():+c)+(null==b?0:+b),this._next||aE===this||(aE?aE._next=this:aD=this,aE=this),this._call=a,this._time=c,aT()},stop:function(){this._call&&(this._call=null,this._time=1/0,aT())}};var aV=w("start","end","cancel","interrupt"),aW=[];function aX(a,b,c,d,e,f){var g=a.__transition;if(g){if(c in g)return}else a.__transition={};!function(a,b,c){var d,e=a.__transition;function f(i){var j,k,l,m;if(1!==c.state)return h();for(j in e)if((m=e[j]).name===c.name){if(3===m.state)return aU(f);4===m.state?(m.state=6,m.timer.stop(),m.on.call("interrupt",a,a.__data__,m.index,m.group),delete e[j]):+j<b&&(m.state=6,m.timer.stop(),m.on.call("cancel",a,a.__data__,m.index,m.group),delete e[j])}if(aU(function(){3===c.state&&(c.state=4,c.timer.restart(g,c.delay,c.time),g(i))}),c.state=2,c.on.call("start",a,a.__data__,c.index,c.group),2===c.state){for(j=0,c.state=3,d=Array(l=c.tween.length),k=-1;j<l;++j)(m=c.tween[j].value.call(a,a.__data__,c.index,c.group))&&(d[++k]=m);d.length=k+1}}function g(b){for(var e=b<c.duration?c.ease.call(null,b/c.duration):(c.timer.restart(h),c.state=5,1),f=-1,g=d.length;++f<g;)d[f].call(a,e);5===c.state&&(c.on.call("end",a,a.__data__,c.index,c.group),h())}function h(){for(var d in c.state=6,c.timer.stop(),delete e[b],e)return;delete a.__transition}e[b]=c,c.timer=aQ(function(a){c.state=1,c.timer.restart(f,c.delay,c.time),c.delay<=a&&f(a-c.delay)},0,c.time)}(a,c,{name:b,index:d,group:e,on:aV,tween:aW,time:f.time,delay:f.delay,duration:f.duration,ease:f.ease,timer:null,state:0})}function aY(a,b){var c=a$(a,b);if(c.state>0)throw Error("too late; already scheduled");return c}function aZ(a,b){var c=a$(a,b);if(c.state>3)throw Error("too late; already running");return c}function a$(a,b){var c=a.__transition;if(!c||!(c=c[b]))throw Error("transition not found");return c}function a_(a,b){var c,d,e,f=a.__transition,g=!0;if(f){for(e in b=null==b?null:b+"",f){if((c=f[e]).name!==b){g=!1;continue}d=c.state>2&&c.state<5,c.state=6,c.timer.stop(),c.on.call(d?"interrupt":"cancel",a,a.__data__,c.index,c.group),delete f[e]}g&&delete a.__transition}}function a0(a,b){return a*=1,b*=1,function(c){return a*(1-c)+b*c}}var a1=180/Math.PI,a2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function a3(a,b,c,d,e,f){var g,h,i;return(g=Math.sqrt(a*a+b*b))&&(a/=g,b/=g),(i=a*c+b*d)&&(c-=a*i,d-=b*i),(h=Math.sqrt(c*c+d*d))&&(c/=h,d/=h,i/=h),a*d<b*c&&(a=-a,b=-b,i=-i,g=-g),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*a1,skewX:Math.atan(i)*a1,scaleX:g,scaleY:h}}function a4(a,b,c,d){function e(a){return a.length?a.pop()+" ":""}return function(f,g){var h,i,j,k,l=[],m=[];return f=a(f),g=a(g),!function(a,d,e,f,g,h){if(a!==e||d!==f){var i=g.push("translate(",null,b,null,c);h.push({i:i-4,x:a0(a,e)},{i:i-2,x:a0(d,f)})}else(e||f)&&g.push("translate("+e+b+f+c)}(f.translateX,f.translateY,g.translateX,g.translateY,l,m),h=f.rotate,i=g.rotate,h!==i?(h-i>180?i+=360:i-h>180&&(h+=360),m.push({i:l.push(e(l)+"rotate(",null,d)-2,x:a0(h,i)})):i&&l.push(e(l)+"rotate("+i+d),j=f.skewX,k=g.skewX,j!==k?m.push({i:l.push(e(l)+"skewX(",null,d)-2,x:a0(j,k)}):k&&l.push(e(l)+"skewX("+k+d),!function(a,b,c,d,f,g){if(a!==c||b!==d){var h=f.push(e(f)+"scale(",null,",",null,")");g.push({i:h-4,x:a0(a,c)},{i:h-2,x:a0(b,d)})}else(1!==c||1!==d)&&f.push(e(f)+"scale("+c+","+d+")")}(f.scaleX,f.scaleY,g.scaleX,g.scaleY,l,m),f=g=null,function(a){for(var b,c=-1,d=m.length;++c<d;)l[(b=m[c]).i]=b.x(a);return l.join("")}}}var a5=a4(function(a){let b=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(a+"");return b.isIdentity?a2:a3(b.a,b.b,b.c,b.d,b.e,b.f)},"px, ","px)","deg)"),a6=a4(function(a){return null==a?a2:(j||(j=document.createElementNS("http://www.w3.org/2000/svg","g")),j.setAttribute("transform",a),a=j.transform.baseVal.consolidate())?a3((a=a.matrix).a,a.b,a.c,a.d,a.e,a.f):a2},", ",")",")");function a7(a,b,c){var d=a._id;return a.each(function(){var a=aZ(this,d);(a.value||(a.value={}))[b]=c.apply(this,arguments)}),function(a){return a$(a,d).value[b]}}function a8(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function a9(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function ba(){}var bb="\\s*([+-]?\\d+)\\s*",bc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bd="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",be=/^#([0-9a-f]{3,8})$/,bf=RegExp(`^rgb\\(${bb},${bb},${bb}\\)$`),bg=RegExp(`^rgb\\(${bd},${bd},${bd}\\)$`),bh=RegExp(`^rgba\\(${bb},${bb},${bb},${bc}\\)$`),bi=RegExp(`^rgba\\(${bd},${bd},${bd},${bc}\\)$`),bj=RegExp(`^hsl\\(${bc},${bd},${bd}\\)$`),bk=RegExp(`^hsla\\(${bc},${bd},${bd},${bc}\\)$`),bl={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function bm(){return this.rgb().formatHex()}function bn(){return this.rgb().formatRgb()}function bo(a){var b,c;return a=(a+"").trim().toLowerCase(),(b=be.exec(a))?(c=b[1].length,b=parseInt(b[1],16),6===c?bp(b):3===c?new bs(b>>8&15|b>>4&240,b>>4&15|240&b,(15&b)<<4|15&b,1):8===c?bq(b>>24&255,b>>16&255,b>>8&255,(255&b)/255):4===c?bq(b>>12&15|b>>8&240,b>>8&15|b>>4&240,b>>4&15|240&b,((15&b)<<4|15&b)/255):null):(b=bf.exec(a))?new bs(b[1],b[2],b[3],1):(b=bg.exec(a))?new bs(255*b[1]/100,255*b[2]/100,255*b[3]/100,1):(b=bh.exec(a))?bq(b[1],b[2],b[3],b[4]):(b=bi.exec(a))?bq(255*b[1]/100,255*b[2]/100,255*b[3]/100,b[4]):(b=bj.exec(a))?by(b[1],b[2]/100,b[3]/100,1):(b=bk.exec(a))?by(b[1],b[2]/100,b[3]/100,b[4]):bl.hasOwnProperty(a)?bp(bl[a]):"transparent"===a?new bs(NaN,NaN,NaN,0):null}function bp(a){return new bs(a>>16&255,a>>8&255,255&a,1)}function bq(a,b,c,d){return d<=0&&(a=b=c=NaN),new bs(a,b,c,d)}function br(a,b,c,d){var e;return 1==arguments.length?((e=a)instanceof ba||(e=bo(e)),e)?new bs((e=e.rgb()).r,e.g,e.b,e.opacity):new bs:new bs(a,b,c,null==d?1:d)}function bs(a,b,c,d){this.r=+a,this.g=+b,this.b=+c,this.opacity=+d}function bt(){return`#${bx(this.r)}${bx(this.g)}${bx(this.b)}`}function bu(){let a=bv(this.opacity);return`${1===a?"rgb(":"rgba("}${bw(this.r)}, ${bw(this.g)}, ${bw(this.b)}${1===a?")":`, ${a})`}`}function bv(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function bw(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function bx(a){return((a=bw(a))<16?"0":"")+a.toString(16)}function by(a,b,c,d){return d<=0?a=b=c=NaN:c<=0||c>=1?a=b=NaN:b<=0&&(a=NaN),new bA(a,b,c,d)}function bz(a){if(a instanceof bA)return new bA(a.h,a.s,a.l,a.opacity);if(a instanceof ba||(a=bo(a)),!a)return new bA;if(a instanceof bA)return a;var b=(a=a.rgb()).r/255,c=a.g/255,d=a.b/255,e=Math.min(b,c,d),f=Math.max(b,c,d),g=NaN,h=f-e,i=(f+e)/2;return h?(g=b===f?(c-d)/h+(c<d)*6:c===f?(d-b)/h+2:(b-c)/h+4,h/=i<.5?f+e:2-f-e,g*=60):h=i>0&&i<1?0:g,new bA(g,h,i,a.opacity)}function bA(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function bB(a){return(a=(a||0)%360)<0?a+360:a}function bC(a){return Math.max(0,Math.min(1,a||0))}function bD(a,b,c){return(a<60?b+(c-b)*a/60:a<180?c:a<240?b+(c-b)*(240-a)/60:b)*255}function bE(a,b,c,d,e){var f=a*a,g=f*a;return((1-3*a+3*f-g)*b+(4-6*f+3*g)*c+(1+3*a+3*f-3*g)*d+g*e)/6}a8(ba,bo,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:bm,formatHex:bm,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bz(this).formatHsl()},formatRgb:bn,toString:bn}),a8(bs,br,a9(ba,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bs(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bs(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new bs(bw(this.r),bw(this.g),bw(this.b),bv(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:bt,formatHex:bt,formatHex8:function(){return`#${bx(this.r)}${bx(this.g)}${bx(this.b)}${bx((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:bu,toString:bu})),a8(bA,function(a,b,c,d){return 1==arguments.length?bz(a):new bA(a,b,c,null==d?1:d)},a9(ba,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bA(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bA(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,b=isNaN(a)||isNaN(this.s)?0:this.s,c=this.l,d=c+(c<.5?c:1-c)*b,e=2*c-d;return new bs(bD(a>=240?a-240:a+120,e,d),bD(a,e,d),bD(a<120?a+240:a-120,e,d),this.opacity)},clamp(){return new bA(bB(this.h),bC(this.s),bC(this.l),bv(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 a=bv(this.opacity);return`${1===a?"hsl(":"hsla("}${bB(this.h)}, ${100*bC(this.s)}%, ${100*bC(this.l)}%${1===a?")":`, ${a})`}`}}));let bF=a=>()=>a;function bG(a,b){var c=b-a;return c?function(b){return a+b*c}:bF(isNaN(a)?b:a)}let bH=function a(b){var c,d=1==(c=+b)?bG:function(a,b){var d,e,f;return b-a?(d=a,e=b,d=Math.pow(d,f=c),e=Math.pow(e,f)-d,f=1/f,function(a){return Math.pow(d+a*e,f)}):bF(isNaN(a)?b:a)};function e(a,b){var c=d((a=br(a)).r,(b=br(b)).r),e=d(a.g,b.g),f=d(a.b,b.b),g=bG(a.opacity,b.opacity);return function(b){return a.r=c(b),a.g=e(b),a.b=f(b),a.opacity=g(b),a+""}}return e.gamma=a,e}(1);function bI(a){return function(b){var c,d,e=b.length,f=Array(e),g=Array(e),h=Array(e);for(c=0;c<e;++c)d=br(b[c]),f[c]=d.r||0,g[c]=d.g||0,h[c]=d.b||0;return f=a(f),g=a(g),h=a(h),d.opacity=1,function(a){return d.r=f(a),d.g=g(a),d.b=h(a),d+""}}}bI(function(a){var b=a.length-1;return function(c){var d=c<=0?c=0:c>=1?(c=1,b-1):Math.floor(c*b),e=a[d],f=a[d+1],g=d>0?a[d-1]:2*e-f,h=d<b-1?a[d+2]:2*f-e;return bE((c-d/b)*b,g,e,f,h)}}),bI(function(a){var b=a.length;return function(c){var d=Math.floor(((c%=1)<0?++c:c)*b),e=a[(d+b-1)%b],f=a[d%b],g=a[(d+1)%b],h=a[(d+2)%b];return bE((c-d/b)*b,e,f,g,h)}});var bJ=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bK=RegExp(bJ.source,"g");function bL(a,b){var c,d,e,f,g,h=bJ.lastIndex=bK.lastIndex=0,i=-1,j=[],k=[];for(a+="",b+="";(e=bJ.exec(a))&&(f=bK.exec(b));)(g=f.index)>h&&(g=b.slice(h,g),j[i]?j[i]+=g:j[++i]=g),(e=e[0])===(f=f[0])?j[i]?j[i]+=f:j[++i]=f:(j[++i]=null,k.push({i:i,x:a0(e,f)})),h=bK.lastIndex;return h<b.length&&(g=b.slice(h),j[i]?j[i]+=g:j[++i]=g),j.length<2?k[0]?(c=k[0].x,function(a){return c(a)+""}):(d=b,function(){return d}):(b=k.length,function(a){for(var c,d=0;d<b;++d)j[(c=k[d]).i]=c.x(a);return j.join("")})}function bM(a,b){var c;return("number"==typeof b?a0:b instanceof bo?bH:(c=bo(b))?(b=c,bH):bL)(a,b)}var bN=al.prototype.constructor;function bO(a){return function(){this.style.removeProperty(a)}}var bP=0;function bQ(a,b,c,d){this._groups=a,this._parents=b,this._name=c,this._id=d}var bR=al.prototype;bQ.prototype=(function(a){return al().transition(a)}).prototype={constructor:bQ,select:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=A(a));for(var d=this._groups,e=d.length,f=Array(e),g=0;g<e;++g)for(var h,i,j=d[g],k=j.length,l=f[g]=Array(k),m=0;m<k;++m)(h=j[m])&&(i=a.call(h,h.__data__,m,j))&&("__data__"in h&&(i.__data__=h.__data__),l[m]=i,aX(l[m],b,c,m,l,a$(h,c)));return new bQ(f,this._parents,b,c)},selectAll:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=C(a));for(var d=this._groups,e=d.length,f=[],g=[],h=0;h<e;++h)for(var i,j=d[h],k=j.length,l=0;l<k;++l)if(i=j[l]){for(var m,n=a.call(i,i.__data__,l,j),o=a$(i,c),p=0,q=n.length;p<q;++p)(m=n[p])&&aX(m,b,c,p,n,o);f.push(n),g.push(i)}return new bQ(f,g,b,c)},selectChild:bR.selectChild,selectChildren:bR.selectChildren,filter:function(a){"function"!=typeof a&&(a=D(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new bQ(d,this._parents,this._name,this._id)},merge:function(a){if(a._id!==this._id)throw Error();for(var b=this._groups,c=a._groups,d=b.length,e=c.length,f=Math.min(d,e),g=Array(d),h=0;h<f;++h)for(var i,j=b[h],k=c[h],l=j.length,m=g[h]=Array(l),n=0;n<l;++n)(i=j[n]||k[n])&&(m[n]=i);for(;h<d;++h)g[h]=b[h];return new bQ(g,this._parents,this._name,this._id)},selection:function(){return new bN(this._groups,this._parents)},transition:function(){for(var a=this._name,b=this._id,c=++bP,d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)if(g=h[j]){var k=a$(g,b);aX(g,a,c,j,h,{time:k.time+k.delay+k.duration,delay:0,duration:k.duration,ease:k.ease})}return new bQ(d,this._parents,a,c)},call:bR.call,nodes:bR.nodes,node:bR.node,size:bR.size,empty:bR.empty,each:bR.each,on:function(a,b){var c,d,e,f,g,h,i=this._id;return arguments.length<2?a$(this.node(),i).on.on(a):this.each((c=i,d=a,e=b,h=(d+"").trim().split(/^|\s+/).every(function(a){var b=a.indexOf(".");return b>=0&&(a=a.slice(0,b)),!a||"start"===a})?aY:aZ,function(){var a=h(this,c),b=a.on;b!==f&&(g=(f=b).copy()).on(d,e),a.on=g}))},attr:function(a,b){var c=R(a),d="transform"===c?a6:bM;return this.attrTween(a,"function"==typeof b?(c.local?function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttributeNS(a.space,a.local):(g=this.getAttributeNS(a.space,a.local))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}}:function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttribute(a):(g=this.getAttribute(a))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}})(c,d,a7(this,"attr."+a,b)):null==b?(c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}})(c):(c.local?function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttributeNS(a.space,a.local);return g===f?null:g===d?e:e=b(d=g,c)}}:function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttribute(a);return g===f?null:g===d?e:e=b(d=g,c)}})(c,d,b))},attrTween:function(a,b){var c="attr."+a;if(arguments.length<2)return(c=this.tween(c))&&c._value;if(null==b)return this.tween(c,null);if("function"!=typeof b)throw Error();var d=R(a);return this.tween(c,(d.local?function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttributeNS(a.space,a.local,e.call(this,b))}),c}return e._value=b,e}:function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttribute(a,e.call(this,b))}),c}return e._value=b,e})(d,b))},style:function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y="transform"==(a+="")?a5:bM;return null==b?this.styleTween(a,(d=a,function(){var a=T(this,d),b=(this.style.removeProperty(d),T(this,d));return a===b?null:a===e&&b===f?g:g=y(e=a,f=b)})).on("end.style."+a,bO(a)):"function"==typeof b?this.styleTween(a,(h=a,i=a7(this,"style."+a,b),function(){var a=T(this,h),b=i(this),c=b+"";return null==b&&(this.style.removeProperty(h),c=b=T(this,h)),a===c?null:a===j&&c===k?l:(k=c,l=y(j=a,b))})).each((m=this._id,t="end."+(s="style."+(n=a)),function(){var a=aZ(this,m),b=a.on,c=null==a.value[s]?r||(r=bO(n)):void 0;(b!==o||q!==c)&&(p=(o=b).copy()).on(t,q=c),a.on=p})):this.styleTween(a,(u=a,x=b+"",function(){var a=T(this,u);return a===x?null:a===v?w:w=y(v=a,b)}),c).on("end.style."+a,null)},styleTween:function(a,b,c){var d="style."+(a+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(null==b)return this.tween(d,null);if("function"!=typeof b)throw Error();return this.tween(d,function(a,b,c){var d,e;function f(){var f=b.apply(this,arguments);return f!==e&&(d=(e=f)&&function(b){this.style.setProperty(a,f.call(this,b),c)}),d}return f._value=b,f}(a,b,null==c?"":c))},text:function(a){var b,c;return this.tween("text","function"==typeof a?(b=a7(this,"text",a),function(){var a=b(this);this.textContent=null==a?"":a}):(c=null==a?"":a+"",function(){this.textContent=c}))},textTween:function(a){var b="text";if(arguments.length<1)return(b=this.tween(b))&&b._value;if(null==a)return this.tween(b,null);if("function"!=typeof a)throw Error();return this.tween(b,function(a){var b,c;function d(){var d=a.apply(this,arguments);return d!==c&&(b=(c=d)&&function(a){this.textContent=d.call(this,a)}),b}return d._value=a,d}(a))},remove:function(){var a;return this.on("end.remove",(a=this._id,function(){var b=this.parentNode;for(var c in this.__transition)if(+c!==a)return;b&&b.removeChild(this)}))},tween:function(a,b){var c=this._id;if(a+="",arguments.length<2){for(var d,e=a$(this.node(),c).tween,f=0,g=e.length;f<g;++f)if((d=e[f]).name===a)return d.value;return null}return this.each((null==b?function(a,b){var c,d;return function(){var e=aZ(this,a),f=e.tween;if(f!==c){d=c=f;for(var g=0,h=d.length;g<h;++g)if(d[g].name===b){(d=d.slice()).splice(g,1);break}}e.tween=d}}:function(a,b,c){var d,e;if("function"!=typeof c)throw Error();return function(){var f=aZ(this,a),g=f.tween;if(g!==d){e=(d=g).slice();for(var h={name:b,value:c},i=0,j=e.length;i<j;++i)if(e[i].name===b){e[i]=h;break}i===j&&e.push(h)}f.tween=e}})(c,a,b))},delay:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){aY(this,a).delay=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aY(this,a).delay=b}})(b,a)):a$(this.node(),b).delay},duration:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){aZ(this,a).duration=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aZ(this,a).duration=b}})(b,a)):a$(this.node(),b).duration},ease:function(a){var b=this._id;return arguments.length?this.each(function(a,b){if("function"!=typeof b)throw Error();return function(){aZ(this,a).ease=b}}(b,a)):a$(this.node(),b).ease},easeVarying:function(a){var b;if("function"!=typeof a)throw Error();return this.each((b=this._id,function(){var c=a.apply(this,arguments);if("function"!=typeof c)throw Error();aZ(this,b).ease=c}))},end:function(){var a,b,c=this,d=c._id,e=c.size();return new Promise(function(f,g){var h={value:g},i={value:function(){0==--e&&f()}};c.each(function(){var c=aZ(this,d),e=c.on;e!==a&&((b=(a=e).copy())._.cancel.push(h),b._.interrupt.push(h),b._.end.push(i)),c.on=b}),0===e&&f()})},[Symbol.iterator]:bR[Symbol.iterator]};var bS={time:null,delay:0,duration:250,ease:function(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}};al.prototype.interrupt=function(a){return this.each(function(){a_(this,a)})},al.prototype.transition=function(a){var b,c;a instanceof bQ?(b=a._id,a=a._name):(b=++bP,(c=bS).time=aN(),a=null==a?null:a+"");for(var d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)(g=h[j])&&aX(g,a,b,j,h,c||function(a,b){for(var c;!(c=a.__transition)||!(c=c[b]);)if(!(a=a.parentNode))throw Error(`transition ${b} not found`);return c}(g,b));return new bQ(d,this._parents,a,b)};let bT=a=>()=>a;function bU(a,{sourceEvent:b,target:c,transform:d,dispatch:e}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},target:{value:c,enumerable:!0,configurable:!0},transform:{value:d,enumerable:!0,configurable:!0},_:{value:e}})}function bV(a,b,c){this.k=a,this.x=b,this.y=c}bV.prototype={constructor:bV,scale:function(a){return 1===a?this:new bV(this.k*a,this.x,this.y)},translate:function(a,b){return 0===a&0===b?this:new bV(this.k,this.x+this.k*a,this.y+this.k*b)},apply:function(a){return[a[0]*this.k+this.x,a[1]*this.k+this.y]},applyX:function(a){return a*this.k+this.x},applyY:function(a){return a*this.k+this.y},invert:function(a){return[(a[0]-this.x)/this.k,(a[1]-this.y)/this.k]},invertX:function(a){return(a-this.x)/this.k},invertY:function(a){return(a-this.y)/this.k},rescaleX:function(a){return a.copy().domain(a.range().map(this.invertX,this).map(a.invert,a))},rescaleY:function(a){return a.copy().domain(a.range().map(this.invertY,this).map(a.invert,a))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var bW=new bV(1,0,0);function bX(a){for(;!a.__zoom;)if(!(a=a.parentNode))return bW;return a.__zoom}function bY(a){a.stopImmediatePropagation()}function bZ(a){a.preventDefault(),a.stopImmediatePropagation()}function b$(a){return(!a.ctrlKey||"wheel"===a.type)&&!a.button}function b_(){var a=this;return a instanceof SVGElement?(a=a.ownerSVGElement||a).hasAttribute("viewBox")?[[(a=a.viewBox.baseVal).x,a.y],[a.x+a.width,a.y+a.height]]:[[0,0],[a.width.baseVal.value,a.height.baseVal.value]]:[[0,0],[a.clientWidth,a.clientHeight]]}function b0(){return this.__zoom||bW}function b1(a){return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*(a.ctrlKey?10:1)}function b2(){return navigator.maxTouchPoints||"ontouchstart"in this}function b3(a,b,c){var d=a.invertX(b[0][0])-c[0][0],e=a.invertX(b[1][0])-c[1][0],f=a.invertY(b[0][1])-c[0][1],g=a.invertY(b[1][1])-c[1][1];return a.translate(e>d?(d+e)/2:Math.min(0,d)||Math.max(0,e),g>f?(f+g)/2:Math.min(0,f)||Math.max(0,g))}function b4(){var a,b,c,d=b$,e=b_,f=b3,g=b1,h=b2,i=[0,1/0],j=[[-1/0,-1/0],[1/0,1/0]],k=250,l=aC,m=w("start","zoom","end"),n=0,o=10;function p(a){a.property("__zoom",b0).on("wheel.zoom",x,{passive:!1}).on("mousedown.zoom",y).on("dblclick.zoom",z).filter(h).on("touchstart.zoom",A).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function q(a,b){return(b=Math.max(i[0],Math.min(i[1],b)))===a.k?a:new bV(b,a.x,a.y)}function r(a,b,c){var d=b[0]-c[0]*a.k,e=b[1]-c[1]*a.k;return d===a.x&&e===a.y?a:new bV(a.k,d,e)}function s(a){return[(+a[0][0]+ +a[1][0])/2,(+a[0][1]+ +a[1][1])/2]}function t(a,b,c,d){a.on("start.zoom",function(){u(this,arguments).event(d).start()}).on("interrupt.zoom end.zoom",function(){u(this,arguments).event(d).end()}).tween("zoom",function(){var a=arguments,f=u(this,a).event(d),g=e.apply(this,a),h=null==c?s(g):"function"==typeof c?c.apply(this,a):c,i=Math.max(g[1][0]-g[0][0],g[1][1]-g[0][1]),j=this.__zoom,k="function"==typeof b?b.apply(this,a):b,m=l(j.invert(h).concat(i/j.k),k.invert(h).concat(i/k.k));return function(a){if(1===a)a=k;else{var b=m(a),c=i/b[2];a=new bV(c,h[0]-b[0]*c,h[1]-b[1]*c)}f.zoom(null,a)}})}function u(a,b,c){return!c&&a.__zooming||new v(a,b)}function v(a,b){this.that=a,this.args=b,this.active=0,this.sourceEvent=null,this.extent=e.apply(a,b),this.taps=0}function x(a,...b){if(d.apply(this,arguments)){var c=u(this,b).event(a),e=this.__zoom,h=Math.max(i[0],Math.min(i[1],e.k*Math.pow(2,g.apply(this,arguments)))),k=an(a);if(c.wheel)(c.mouse[0][0]!==k[0]||c.mouse[0][1]!==k[1])&&(c.mouse[1]=e.invert(c.mouse[0]=k)),clearTimeout(c.wheel);else{if(e.k===h)return;c.mouse=[k,e.invert(k)],a_(this),c.start()}bZ(a),c.wheel=setTimeout(function(){c.wheel=null,c.end()},150),c.zoom("mouse",f(r(q(e,h),c.mouse[0],c.mouse[1]),c.extent,j))}}function y(a,...b){if(!c&&d.apply(this,arguments)){var e=a.currentTarget,g=u(this,b,!0).event(a),h=am(a.view).on("mousemove.zoom",function(a){if(bZ(a),!g.moved){var b=a.clientX-k,c=a.clientY-l;g.moved=b*b+c*c>n}g.event(a).zoom("mouse",f(r(g.that.__zoom,g.mouse[0]=an(a,e),g.mouse[1]),g.extent,j))},!0).on("mouseup.zoom",function(a){h.on("mousemove.zoom mouseup.zoom",null),at(a.view,g.moved),bZ(a),g.event(a).end()},!0),i=an(a,e),k=a.clientX,l=a.clientY;as(a.view),bY(a),g.mouse=[i,this.__zoom.invert(i)],a_(this),g.start()}}function z(a,...b){if(d.apply(this,arguments)){var c=this.__zoom,g=an(a.changedTouches?a.changedTouches[0]:a,this),h=c.invert(g),i=c.k*(a.shiftKey?.5:2),l=f(r(q(c,i),g,h),e.apply(this,b),j);bZ(a),k>0?am(this).transition().duration(k).call(t,l,g,a):am(this).call(p.transform,l,g,a)}}function A(c,...e){if(d.apply(this,arguments)){var f,g,h,i,j=c.touches,k=j.length,l=u(this,e,c.changedTouches.length===k).event(c);for(bY(c),g=0;g<k;++g)i=[i=an(h=j[g],this),this.__zoom.invert(i),h.identifier],l.touch0?l.touch1||l.touch0[2]===i[2]||(l.touch1=i,l.taps=0):(l.touch0=i,f=!0,l.taps=1+!!a);a&&(a=clearTimeout(a)),f&&(l.taps<2&&(b=i[0],a=setTimeout(function(){a=null},500)),a_(this),l.start())}}function B(a,...b){if(this.__zooming){var c,d,e,g,h=u(this,b).event(a),i=a.changedTouches,k=i.length;for(bZ(a),c=0;c<k;++c)e=an(d=i[c],this),h.touch0&&h.touch0[2]===d.identifier?h.touch0[0]=e:h.touch1&&h.touch1[2]===d.identifier&&(h.touch1[0]=e);if(d=h.that.__zoom,h.touch1){var l=h.touch0[0],m=h.touch0[1],n=h.touch1[0],o=h.touch1[1],p=(p=n[0]-l[0])*p+(p=n[1]-l[1])*p,s=(s=o[0]-m[0])*s+(s=o[1]-m[1])*s;d=q(d,Math.sqrt(p/s)),e=[(l[0]+n[0])/2,(l[1]+n[1])/2],g=[(m[0]+o[0])/2,(m[1]+o[1])/2]}else{if(!h.touch0)return;e=h.touch0[0],g=h.touch0[1]}h.zoom("touch",f(r(d,e,g),h.extent,j))}}function C(a,...d){if(this.__zooming){var e,f,g=u(this,d).event(a),h=a.changedTouches,i=h.length;for(bY(a),c&&clearTimeout(c),c=setTimeout(function(){c=null},500),e=0;e<i;++e)f=h[e],g.touch0&&g.touch0[2]===f.identifier?delete g.touch0:g.touch1&&g.touch1[2]===f.identifier&&delete g.touch1;if(g.touch1&&!g.touch0&&(g.touch0=g.touch1,delete g.touch1),g.touch0)g.touch0[1]=this.__zoom.invert(g.touch0[0]);else if(g.end(),2===g.taps&&(f=an(f,this),Math.hypot(b[0]-f[0],b[1]-f[1])<o)){var j=am(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return p.transform=function(a,b,c,d){var e=a.selection?a.selection():a;e.property("__zoom",b0),a!==e?t(a,b,c,d):e.interrupt().each(function(){u(this,arguments).event(d).start().zoom(null,"function"==typeof b?b.apply(this,arguments):b).end()})},p.scaleBy=function(a,b,c,d){p.scaleTo(a,function(){var a=this.__zoom.k,c="function"==typeof b?b.apply(this,arguments):b;return a*c},c,d)},p.scaleTo=function(a,b,c,d){p.transform(a,function(){var a=e.apply(this,arguments),d=this.__zoom,g=null==c?s(a):"function"==typeof c?c.apply(this,arguments):c,h=d.invert(g),i="function"==typeof b?b.apply(this,arguments):b;return f(r(q(d,i),g,h),a,j)},c,d)},p.translateBy=function(a,b,c,d){p.transform(a,function(){return f(this.__zoom.translate("function"==typeof b?b.apply(this,arguments):b,"function"==typeof c?c.apply(this,arguments):c),e.apply(this,arguments),j)},null,d)},p.translateTo=function(a,b,c,d,g){p.transform(a,function(){var a=e.apply(this,arguments),g=this.__zoom,h=null==d?s(a):"function"==typeof d?d.apply(this,arguments):d;return f(bW.translate(h[0],h[1]).scale(g.k).translate("function"==typeof b?-b.apply(this,arguments):-b,"function"==typeof c?-c.apply(this,arguments):-c),a,j)},d,g)},v.prototype={event:function(a){return a&&(this.sourceEvent=a),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(a,b){return this.mouse&&"mouse"!==a&&(this.mouse[1]=b.invert(this.mouse[0])),this.touch0&&"touch"!==a&&(this.touch0[1]=b.invert(this.touch0[0])),this.touch1&&"touch"!==a&&(this.touch1[1]=b.invert(this.touch1[0])),this.that.__zoom=b,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(a){var b=am(this.that).datum();m.call(a,this.that,new bU(a,{sourceEvent:this.sourceEvent,target:p,type:a,transform:this.that.__zoom,dispatch:m}),b)}},p.wheelDelta=function(a){return arguments.length?(g="function"==typeof a?a:bT(+a),p):g},p.filter=function(a){return arguments.length?(d="function"==typeof a?a:bT(!!a),p):d},p.touchable=function(a){return arguments.length?(h="function"==typeof a?a:bT(!!a),p):h},p.extent=function(a){return arguments.length?(e="function"==typeof a?a:bT([[+a[0][0],+a[0][1]],[+a[1][0],+a[1][1]]]),p):e},p.scaleExtent=function(a){return arguments.length?(i[0]=+a[0],i[1]=+a[1],p):[i[0],i[1]]},p.translateExtent=function(a){return arguments.length?(j[0][0]=+a[0][0],j[1][0]=+a[1][0],j[0][1]=+a[0][1],j[1][1]=+a[1][1],p):[[j[0][0],j[0][1]],[j[1][0],j[1][1]]]},p.constrain=function(a){return arguments.length?(f=a,p):f},p.duration=function(a){return arguments.length?(k=+a,p):k},p.interpolate=function(a){return arguments.length?(l=a,p):l},p.on=function(){var a=m.on.apply(m,arguments);return a===m?p:a},p.clickDistance=function(a){return arguments.length?(n=(a*=1)*a,p):Math.sqrt(n)},p.tapDistance=function(a){return arguments.length?(o=+a,p):o},p}function b5(a,b){var c,d,e=typeof b;return null==b||"boolean"===e?bF(b):("number"===e?a0:"string"===e?(d=bo(b))?(b=d,bH):bL:b instanceof bo?bH:b instanceof Date?function(a,b){var c=new Date;return a*=1,b*=1,function(d){return c.setTime(a*(1-d)+b*d),c}}:!ArrayBuffer.isView(c=b)||c instanceof DataView?Array.isArray(b)?function(a,b){var c,d=b?b.length:0,e=a?Math.min(d,a.length):0,f=Array(e),g=Array(d);for(c=0;c<e;++c)f[c]=b5(a[c],b[c]);for(;c<d;++c)g[c]=b[c];return function(a){for(c=0;c<e;++c)g[c]=f[c](a);return g}}:"function"!=typeof b.valueOf&&"function"!=typeof b.toString||isNaN(b)?function(a,b){var c,d={},e={};for(c in(null===a||"object"!=typeof a)&&(a={}),(null===b||"object"!=typeof b)&&(b={}),b)c in a?d[c]=b5(a[c],b[c]):e[c]=b[c];return function(a){for(c in d)e[c]=d[c](a);return e}}:a0:function(a,b){b||(b=[]);var c,d=a?Math.min(b.length,a.length):0,e=b.slice();return function(f){for(c=0;c<d;++c)e[c]=a[c]*(1-f)+b[c]*f;return e}})(a,b)}bX.prototype=bV.prototype;let b6={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.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:a=>`Node type "${a}" not found. Using fallback type "default".`,error004:()=>"The React Flow 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:a=>`The old edge with id=${a} does not exist.`,error009:a=>`Marker type "${a}" doesn't exist.`,error008:(a,{id:b,sourceHandle:c,targetHandle:d})=>`Couldn't create edge for ${a} handle id: "${"source"===a?c:d}", edge id: ${b}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:a=>`Edge type "${a}" not found. Using fallback type "default".`,error012:a=>`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(a="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${a}/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."},b7=[[-1/0,-1/0],[1/0,1/0]],b8=["Enter"," ","Escape"],b9={"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:a,x:b,y:c})=>`Moved selected node ${a}. New position, x: ${b}, y: ${c}`,"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"};(b=k||(k={})).Strict="strict",b.Loose="loose",(c=l||(l={})).Free="free",c.Vertical="vertical",c.Horizontal="horizontal",(d=m||(m={})).Partial="partial",d.Full="full";let ca={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(e=n||(n={})).Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier",(f=o||(o={})).Arrow="arrow",f.ArrowClosed="arrowclosed",(g=p||(p={})).Left="left",g.Top="top",g.Right="right",g.Bottom="bottom";let cb={[p.Left]:p.Right,[p.Right]:p.Left,[p.Top]:p.Bottom,[p.Bottom]:p.Top};function cc(a,b){if(!a&&!b)return!0;if(!a||!b||a.size!==b.size)return!1;if(!a.size&&!b.size)return!0;for(let c of a.keys())if(!b.has(c))return!1;return!0}function cd(a,b,c){if(!c)return;let d=[];a.forEach((a,c)=>{b?.has(c)||d.push(a)}),d.length&&c(d)}function ce(a){return null===a?null:a?"valid":"invalid"}let cf=a=>"id"in a&&"source"in a&&"target"in a,cg=a=>"id"in a&&"position"in a&&!("source"in a)&&!("target"in a),ch=a=>"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),ci=(a,b=[0,0])=>{let{width:c,height:d}=cL(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},cj=(a,b={nodeOrigin:[0,0]})=>0===a.length?{x:0,y:0,width:0,height:0}:cw(a.reduce((a,c)=>{let d="string"==typeof c,e=b.nodeLookup||d?void 0:c;return b.nodeLookup&&(e=d?b.nodeLookup.get(c):ch(c)?c:b.nodeLookup.get(c.id)),cu(a,e?cy(e,b.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),ck=(a,b={})=>{let c={x:1/0,y:1/0,x2:-1/0,y2:-1/0},d=!1;return a.forEach(a=>{(void 0===b.filter||b.filter(a))&&(c=cu(c,cy(a)),d=!0)}),d?cw(c):{x:0,y:0,width:0,height:0}},cl=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h={...cF(b,[c,d,e]),width:b.width/e,height:b.height/e},i=[];for(let b of a.values()){let{measured:a,selectable:c=!0,hidden:d=!1}=b;if(g&&!c||d)continue;let e=a.width??b.width??b.initialWidth??null,j=a.height??b.height??b.initialHeight??null,k=cA(h,cx(b)),l=(e??0)*(j??0),m=f&&k>0;(!b.internals.handleBounds||m||k>=l||b.dragging)&&i.push(b)}return i};async function cm({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){let h,i;if(0===a.size)return Promise.resolve(!0);let j=cI(ck((h=new Map,i=g?.nodes?new Set(g.nodes.map(a=>a.id)):null,a.forEach(a=>{a.measured.width&&a.measured.height&&(g?.includeHiddenNodes||!a.hidden)&&(!i||i.has(a.id))&&h.set(a.id,a)}),h)),b,c,g?.minZoom??e,g?.maxZoom??f,g?.padding??.1);return await d.setViewport(j,{duration:g?.duration,ease:g?.ease,interpolate:g?.interpolate}),Promise.resolve(!0)}function cn({nodeId:a,nextPosition:b,nodeLookup:c,nodeOrigin:d=[0,0],nodeExtent:e,onError:f}){let g=c.get(a),h=g.parentId?c.get(g.parentId):void 0,{x:i,y:j}=h?h.internals.positionAbsolute:{x:0,y:0},k=g.origin??d,l=g.extent||e;if("parent"!==g.extent||g.expandParent)h&&cK(g.extent)&&(l=[[g.extent[0][0]+i,g.extent[0][1]+j],[g.extent[1][0]+i,g.extent[1][1]+j]]);else if(h){let a=h.measured.width,b=h.measured.height;a&&b&&(l=[[i,j],[i+a,j+b]])}else f?.("005",b6.error005());let m=cK(l)?cq(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015",b6.error015()),{position:{x:m.x-i+(g.measured.width??0)*k[0],y:m.y-j+(g.measured.height??0)*k[1]},positionAbsolute:m}}async function co({nodesToRemove:a=[],edgesToRemove:b=[],nodes:c,edges:d,onBeforeDelete:e}){let f,g=new Set(a.map(a=>a.id)),h=[];for(let a of c){if(!1===a.deletable)continue;let b=g.has(a.id),c=!b&&a.parentId&&h.find(b=>b.id===a.parentId);(b||c)&&h.push(a)}let i=new Set(b.map(a=>a.id)),j=d.filter(a=>!1!==a.deletable),k=(f=new Set,h.forEach(a=>{f.add(a.id)}),j.filter(a=>f.has(a.source)||f.has(a.target)));for(let a of j)i.has(a.id)&&!k.find(b=>b.id===a.id)&&k.push(a);if(!e)return{edges:k,nodes:h};let l=await e({nodes:h,edges:k});return"boolean"==typeof l?l?{edges:k,nodes:h}:{edges:[],nodes:[]}:l}let cp=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),cq=(a={x:0,y:0},b,c)=>({x:cp(a.x,b[0][0],b[1][0]-(c?.width??0)),y:cp(a.y,b[0][1],b[1][1]-(c?.height??0))});function cr(a,b,c){let{width:d,height:e}=cL(c),{x:f,y:g}=c.internals.positionAbsolute;return cq(a,[[f,g],[f+d,g+e]],b)}let cs=(a,b,c)=>a<b?cp(Math.abs(a-b),1,b)/b:a>c?-cp(Math.abs(a-c),1,b)/b:0,ct=(a,b,c=15,d=40)=>[cs(a.x,d,b.width-d)*c,cs(a.y,d,b.height-d)*c],cu=(a,b)=>({x:Math.min(a.x,b.x),y:Math.min(a.y,b.y),x2:Math.max(a.x2,b.x2),y2:Math.max(a.y2,b.y2)}),cv=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),cw=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),cx=(a,b=[0,0])=>{let{x:c,y:d}=ch(a)?a.internals.positionAbsolute:ci(a,b);return{x:c,y:d,width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}},cy=(a,b=[0,0])=>{let{x:c,y:d}=ch(a)?a.internals.positionAbsolute:ci(a,b);return{x:c,y:d,x2:c+(a.measured?.width??a.width??a.initialWidth??0),y2:d+(a.measured?.height??a.height??a.initialHeight??0)}},cz=(a,b)=>cw(cu(cv(a),cv(b))),cA=(a,b)=>Math.ceil(Math.max(0,Math.min(a.x+a.width,b.x+b.width)-Math.max(a.x,b.x))*Math.max(0,Math.min(a.y+a.height,b.y+b.height)-Math.max(a.y,b.y))),cB=a=>cC(a.width)&&cC(a.height)&&cC(a.x)&&cC(a.y),cC=a=>!isNaN(a)&&isFinite(a),cD=(a,b)=>{},cE=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),cF=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?cE(h,g):h},cG=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function cH(a,b){if("number"==typeof a)return Math.floor((b-b/(1+a))*.5);if("string"==typeof a&&a.endsWith("px")){let b=parseFloat(a);if(!Number.isNaN(b))return Math.floor(b)}if("string"==typeof a&&a.endsWith("%")){let c=parseFloat(a);if(!Number.isNaN(c))return Math.floor(b*c*.01)}return console.error(`[React Flow] The padding value "${a}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let cI=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=cH(a,c),e=cH(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=cH(a.top??a.y??0,c),e=cH(a.bottom??a.y??0,c),f=cH(a.left??a.x??0,b),g=cH(a.right??a.x??0,b);return{top:d,right:g,bottom:e,left:f,x:f+g,y:d+e}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(f,b,c),h=cp(Math.min((b-g.x)/a.width,(c-g.y)/a.height),d,e),i=a.x+a.width/2,j=a.y+a.height/2,k=b/2-i*h,l=c/2-j*h,m=function(a,b,c,d,e,f){let{x:g,y:h}=cG(a,[b,c,d]),{x:i,y:j}=cG({x:a.x+a.width,y:a.y+a.height},[b,c,d]);return{left:Math.floor(g),top:Math.floor(h),right:Math.floor(e-i),bottom:Math.floor(f-j)}}(a,k,l,h,b,c),n={left:Math.min(m.left-g.left,0),top:Math.min(m.top-g.top,0),right:Math.min(m.right-g.right,0),bottom:Math.min(m.bottom-g.bottom,0)};return{x:k-n.left+n.right,y:l-n.top+n.bottom,zoom:h}},cJ=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function cK(a){return null!=a&&"parent"!==a}function cL(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function cM(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function cN(a,b={width:0,height:0},c,d,e){let f={...a},g=d.get(c);if(g){let a=g.origin||e;f.x+=g.internals.positionAbsolute.x-(b.width??0)*a[0],f.y+=g.internals.positionAbsolute.y-(b.height??0)*a[1]}return f}function cO(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}function cP(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}function cQ(a){return{...b9,...a||{}}}function cR(a,{snapGrid:b=[0,0],snapToGrid:c=!1,transform:d,containerBounds:e}){let{x:f,y:g}=cX(a),h=cF({x:f-(e?.left??0),y:g-(e?.top??0)},d),{x:i,y:j}=c?cE(h,b):h;return{xSnapped:i,ySnapped:j,...h}}let cS=a=>({width:a.offsetWidth,height:a.offsetHeight}),cT=a=>a?.getRootNode?.()||window?.document,cU=["INPUT","SELECT","TEXTAREA"];function cV(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(cU.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}let cW=a=>"clientX"in a,cX=(a,b)=>{let c=cW(a),d=c?a.clientX:a.touches?.[0].clientX,e=c?a.clientY:a.touches?.[0].clientY;return{x:d-(b?.left??0),y:e-(b?.top??0)}},cY=(a,b,c,d,e)=>{let f=b.querySelectorAll(`.${a}`);return f&&f.length?Array.from(f).map(b=>{let f=b.getBoundingClientRect();return{id:b.getAttribute("data-handleid"),type:a,nodeId:e,position:b.getAttribute("data-handlepos"),x:(f.left-c.left)/d,y:(f.top-c.top)/d,...cS(b)}}):null};function cZ({sourceX:a,sourceY:b,targetX:c,targetY:d,sourceControlX:e,sourceControlY:f,targetControlX:g,targetControlY:h}){let i=.125*a+.375*e+.375*g+.125*c,j=.125*b+.375*f+.375*h+.125*d,k=Math.abs(i-a),l=Math.abs(j-b);return[i,j,k,l]}function c$(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function c_({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case p.Left:return[b-c$(b-d,f),c];case p.Right:return[b+c$(d-b,f),c];case p.Top:return[b,c-c$(c-e,f)];case p.Bottom:return[b,c+c$(e-c,f)]}}function c0({sourceX:a,sourceY:b,sourcePosition:c=p.Bottom,targetX:d,targetY:e,targetPosition:f=p.Top,curvature:g=.25}){let[h,i]=c_({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[j,k]=c_({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[l,m,n,o]=cZ({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${h},${i} ${j},${k} ${d},${e}`,l,m,n,o]}function c1({sourceX:a,sourceY:b,targetX:c,targetY:d}){let e=Math.abs(c-a)/2,f=Math.abs(d-b)/2;return[c<a?c+e:c-e,d<b?d+f:d-f,e,f]}function c2({sourceNode:a,targetNode:b,selected:c=!1,zIndex:d=0,elevateOnSelect:e=!1,zIndexMode:f="basic"}){if("manual"===f)return d;let g=Math.max(a.parentId||e&&a.selected?a.internals.z:0,b.parentId||e&&b.selected?b.internals.z:0);return(e&&c?d+1e3:d)+g}function c3({sourceNode:a,targetNode:b,width:c,height:d,transform:e}){let f=cu(cy(a),cy(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),cA({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},cw(f))>0}let c4=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`,c5=(a,b,c={})=>{let d,e;if(!a.source||!a.target)return cD("006",b6.error006()),b;let f=c.getEdgeId||c4;return(e=d=cf(a)?{...a}:{...a,id:f(a)},b.some(a=>a.source===e.source&&a.target===e.target&&(a.sourceHandle===e.sourceHandle||!a.sourceHandle&&!e.sourceHandle)&&(a.targetHandle===e.targetHandle||!a.targetHandle&&!e.targetHandle)))?b:(null===d.sourceHandle&&delete d.sourceHandle,null===d.targetHandle&&delete d.targetHandle,b.concat(d))};function c6({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=c1({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let c7={[p.Left]:{x:-1,y:0},[p.Right]:{x:1,y:0},[p.Top]:{x:0,y:-1},[p.Bottom]:{x:0,y:1}},c8=({source:a,sourcePosition:b=p.Bottom,target:c})=>b===p.Left||b===p.Right?a.x<c.x?{x:1,y:0}:{x:-1,y:0}:a.y<c.y?{x:0,y:1}:{x:0,y:-1},c9=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function da({sourceX:a,sourceY:b,sourcePosition:c=p.Bottom,targetX:d,targetY:e,targetPosition:f=p.Top,borderRadius:g=5,centerX:h,centerY:i,offset:j=20,stepPosition:k=.5}){let[l,m,n,o,q]=function({source:a,sourcePosition:b=p.Bottom,target:c,targetPosition:d=p.Top,center:e,offset:f,stepPosition:g}){let h,i,j=c7[b],k=c7[d],l={x:a.x+j.x*f,y:a.y+j.y*f},m={x:c.x+k.x*f,y:c.y+k.y*f},n=c8({source:l,sourcePosition:b,target:m}),o=0!==n.x?"x":"y",q=n[o],r=[],s={x:0,y:0},t={x:0,y:0},[,,u,v]=c1({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(j[o]*k[o]==-1){"x"===o?(h=e.x??l.x+(m.x-l.x)*g,i=e.y??(l.y+m.y)/2):(h=e.x??(l.x+m.x)/2,i=e.y??l.y+(m.y-l.y)*g);let a=[{x:h,y:l.y},{x:h,y:m.y}],b=[{x:l.x,y:i},{x:m.x,y:i}];r=j[o]===q?"x"===o?a:b:"x"===o?b:a}else{let e=[{x:l.x,y:m.y}],g=[{x:m.x,y:l.y}];if(r="x"===o?j.x===q?g:e:j.y===q?e:g,b===d){let b=Math.abs(a[o]-c[o]);if(b<=f){let d=Math.min(f-1,f-b);j[o]===q?s[o]=(l[o]>a[o]?-1:1)*d:t[o]=(m[o]>c[o]?-1:1)*d}}if(b!==d){let a="x"===o?"y":"x",b=j[o]===k[a],c=l[a]>m[a],d=l[a]<m[a];(1===j[o]&&(!b&&c||b&&d)||1!==j[o]&&(!b&&d||b&&c))&&(r="x"===o?e:g)}let n={x:l.x+s.x,y:l.y+s.y},p={x:m.x+t.x,y:m.y+t.y};Math.max(Math.abs(n.x-r[0].x),Math.abs(p.x-r[0].x))>=Math.max(Math.abs(n.y-r[0].y),Math.abs(p.y-r[0].y))?(h=(n.x+p.x)/2,i=r[0].y):(h=r[0].x,i=(n.y+p.y)/2)}return[[a,{x:l.x+s.x,y:l.y+s.y},...r,{x:m.x+t.x,y:m.y+t.y},c],h,i,u,v]}({source:{x:a,y:b},sourcePosition:c,target:{x:d,y:e},targetPosition:f,center:{x:h,y:i},offset:j,stepPosition:k});return[l.reduce((a,b,c)=>a+(c>0&&c<l.length-1?function(a,b,c,d){let e=Math.min(c9(a,b)/2,c9(b,c)/2,d),{x:f,y:g}=b;if(a.x===f&&f===c.x||a.y===g&&g===c.y)return`L${f} ${g}`;if(a.y===g){let b=a.x<c.x?-1:1,d=a.y<c.y?1:-1;return`L ${f+e*b},${g}Q ${f},${g} ${f},${g+e*d}`}let h=a.x<c.x?1:-1,i=a.y<c.y?-1:1;return`L ${f},${g+e*i}Q ${f},${g} ${f+e*h},${g}`}(l[c-1],b,l[c+1],g):`${0===c?"M":"L"}${b.x} ${b.y}`),""),m,n,o,q]}function db(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function dc(a){let{sourceNode:b,targetNode:c}=a;if(!db(b)||!db(c))return null;let d=b.internals.handleBounds||dd(b.handles),e=c.internals.handleBounds||dd(c.handles),f=df(d?.source??[],a.sourceHandle),g=df(a.connectionMode===k.Strict?e?.target??[]:(e?.target??[]).concat(e?.source??[]),a.targetHandle);if(!f||!g)return a.onError?.("008",b6.error008(!f?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let h=f?.position||p.Bottom,i=g?.position||p.Top,j=de(b,f,h),l=de(c,g,i);return{sourceX:j.x,sourceY:j.y,targetX:l.x,targetY:l.y,sourcePosition:h,targetPosition:i}}function dd(a){if(!a)return null;let b=[],c=[];for(let d of a)d.width=d.width??1,d.height=d.height??1,"source"===d.type?b.push(d):"target"===d.type&&c.push(d);return{source:b,target:c}}function de(a,b,c=p.Left,d=!1){let e=(b?.x??0)+a.internals.positionAbsolute.x,f=(b?.y??0)+a.internals.positionAbsolute.y,{width:g,height:h}=b??cL(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case p.Top:return{x:e+g/2,y:f};case p.Right:return{x:e+g,y:f+h/2};case p.Bottom:return{x:e+g/2,y:f+h};case p.Left:return{x:e,y:f+h/2}}}function df(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function dg(a,b){if(!a)return"";if("string"==typeof a)return a;let c=b?`${b}__`:"";return`${c}${Object.keys(a).sort().map(b=>`${b}=${a[b]}`).join("&")}`}function dh(a,{id:b,defaultColor:c,defaultMarkerStart:d,defaultMarkerEnd:e}){let f=new Set;return a.reduce((a,g)=>([g.markerStart||d,g.markerEnd||e].forEach(d=>{if(d&&"object"==typeof d){let e=dg(d,b);f.has(e)||(a.push({id:e,color:d.color||c,...d}),f.add(e))}}),a),[]).sort((a,b)=>a.id.localeCompare(b.id))}function di(a,b,c,d,e){let f=.5;"start"===e?f=0:"end"===e&&(f=1);let g=[(a.x+a.width*f)*b.zoom+b.x,a.y*b.zoom+b.y-d],h=[-100*f,-100];switch(c){case p.Right:g=[(a.x+a.width)*b.zoom+b.x+d,(a.y+a.height*f)*b.zoom+b.y],h=[0,-100*f];break;case p.Bottom:g[1]=(a.y+a.height)*b.zoom+b.y+d,h[1]=0;break;case p.Left:g=[a.x*b.zoom+b.x-d,(a.y+a.height*f)*b.zoom+b.y],h=[-100,-100*f]}return`translate(${g[0]}px, ${g[1]}px) translate(${h[0]}%, ${h[1]}%)`}let dj={left:0,center:50,right:100},dk={top:0,center:50,bottom:100};function dl(a,b,c,d="center",e="center"){return`translate(${a}px, ${b}px) scale(${1/c}) translate(${-(dj[d]??50)}%, ${-(dk[e]??50)}%)`}let dm={nodeOrigin:[0,0],nodeExtent:b7,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},dn={...dm,checkEquality:!0};function dp(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function dq(a,b,c){let d=dp(dm,c);for(let c of a.values())if(c.parentId)dt(c,a,b,d);else{let a=cq(ci(c,d.nodeOrigin),cK(c.extent)?c.extent:d.nodeExtent,cL(c));c.internals.positionAbsolute=a}}function dr(a){return"manual"===a}function ds(a,b,c,d={}){let e=dp(dn,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!dr(e.zIndexMode)?1e3:0,i=a.length>0;for(let j of(b.clear(),c.clear(),a)){let a=g.get(j.id);if(e.checkEquality&&j===a?.internals.userNode)b.set(j.id,a);else{let c=cq(ci(j,e.nodeOrigin),cK(j.extent)?j.extent:e.nodeExtent,cL(j));a={...e.defaults,...j,measured:{width:j.measured?.width,height:j.measured?.height},internals:{positionAbsolute:c,handleBounds:function(a,b){if(!a.handles)return a.measured?b?.internals.handleBounds:void 0;let c=[],d=[];for(let b of a.handles){let e={id:b.id,width:b.width??1,height:b.height??1,nodeId:a.id,x:b.x,y:b.y,position:b.position,type:b.type};"source"===b.type?c.push(e):"target"===b.type&&d.push(e)}return{source:c,target:d}}(j,a),z:du(j,h,e.zIndexMode),userNode:j}},b.set(j.id,a)}void 0!==a.measured&&void 0!==a.measured.width&&void 0!==a.measured.height||a.hidden||(i=!1),j.parentId&&dt(a,b,c,d,f)}return i}function dt(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=dp(dm,d),j=a.parentId,k=b.get(j);if(!k)return void console.warn(`Parent node ${j} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(a,b){if(!a.parentId)return;let c=b.get(a.parentId);c?c.set(a.id,a):b.set(a.parentId,new Map([[a.id,a]]))}(a,c),e&&!k.parentId&&void 0===k.internals.rootParentIndex&&"auto"===i&&(k.internals.rootParentIndex=++e.i,k.internals.z=k.internals.z+10*e.i),e&&void 0!==k.internals.rootParentIndex&&(e.i=k.internals.rootParentIndex);let{x:l,y:m,z:n}=function(a,b,c,d,e,f){let{x:g,y:h}=b.internals.positionAbsolute,i=cL(a),j=ci(a,c),k=cK(a.extent)?cq(j,a.extent,i):j,l=cq({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=cr(l,i,b));let m=du(a,e,f),n=b.internals.z??0;return{x:l.x,y:l.y,z:n>=m?n+1:m}}(a,k,g,h,f&&!dr(i)?1e3:0,i),{positionAbsolute:o}=a.internals,p=l!==o.x||m!==o.y;(p||n!==a.internals.z)&&b.set(a.id,{...a,internals:{...a.internals,positionAbsolute:p?{x:l,y:m}:o,z:n}})}function du(a,b,c){let d=cC(a.zIndex)?a.zIndex:0;return dr(c)?d:d+(a.selected?b:0)}function dv(a,b,c,d=[0,0]){let e=[],f=new Map;for(let c of a){let a=b.get(c.parentId);if(!a)continue;let d=cz(f.get(c.parentId)?.expandedRect??cx(a),c.rect);f.set(c.parentId,{expandedRect:d,parent:a})}return f.size>0&&f.forEach(({expandedRect:b,parent:f},g)=>{let h=f.internals.positionAbsolute,i=cL(f),j=f.origin??d,k=b.x<h.x?Math.round(Math.abs(h.x-b.x)):0,l=b.y<h.y?Math.round(Math.abs(h.y-b.y)):0,m=Math.max(i.width,Math.round(b.width)),n=Math.max(i.height,Math.round(b.height)),o=(m-i.width)*j[0],p=(n-i.height)*j[1];(k>0||l>0||o||p)&&(e.push({id:g,type:"position",position:{x:f.position.x-k+o,y:f.position.y-l+p}}),c.get(g)?.forEach(b=>{a.some(a=>a.id===b.id)||e.push({id:b.id,type:"position",position:{x:b.position.x+k,y:b.position.y+l}})})),(i.width<b.width||i.height<b.height||k||l)&&e.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:m+(k?j[0]*k-o:0),height:n+(l?j[1]*l-p:0)}})}),e}function dw(a,b,c,d,e,f,g){let h=d?.querySelector(".xyflow__viewport"),i=!1;if(!h)return{changes:[],updatedInternals:i};let j=[],k=window.getComputedStyle(h),{m22:l}=new window.DOMMatrixReadOnly(k.transform),m=[];for(let d of a.values()){let a=b.get(d.id);if(!a)continue;if(a.hidden){b.set(a.id,{...a,internals:{...a.internals,handleBounds:void 0}}),i=!0;continue}let h=cS(d.nodeElement),k=a.measured.width!==h.width||a.measured.height!==h.height;if(h.width&&h.height&&(k||!a.internals.handleBounds||d.force)){let n=d.nodeElement.getBoundingClientRect(),o=cK(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;a.parentId&&"parent"===a.extent?p=cr(p,h,b.get(a.parentId)):o&&(p=cq(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:cY("source",d.nodeElement,n,l,a.id),target:cY("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&dt(q,b,c,{nodeOrigin:e,zIndexMode:g}),i=!0,k&&(j.push({id:a.id,type:"dimensions",dimensions:h}),a.expandParent&&a.parentId&&m.push({id:a.id,parentId:a.parentId,rect:cx(q,e)}))}}if(m.length>0){let a=dv(m,b,c,e);j.push(...a)}return{changes:j,updatedInternals:i}}async function dx({delta:a,panZoom:b,transform:c,translateExtent:d,width:e,height:f}){if(!b||!a.x&&!a.y)return Promise.resolve(!1);let g=await b.setViewportConstrained({x:c[0]+a.x,y:c[1]+a.y,zoom:c[2]},[[0,0],[e,f]],d);return Promise.resolve(!!g&&(g.x!==c[0]||g.y!==c[1]||g.k!==c[2]))}function dy(a,b,c,d,e,f){let g=e,h=d.get(g)||new Map;d.set(g,h.set(c,b)),g=`${e}-${a}`;let i=d.get(g)||new Map;if(d.set(g,i.set(c,b)),f){g=`${e}-${a}-${f}`;let h=d.get(g)||new Map;d.set(g,h.set(c,b))}}function dz(a,b,c){for(let d of(a.clear(),b.clear(),c)){let{source:c,target:e,sourceHandle:f=null,targetHandle:g=null}=d,h={edgeId:d.id,source:c,target:e,sourceHandle:f,targetHandle:g},i=`${c}-${f}--${e}-${g}`;dy("source",h,`${e}-${g}--${c}-${f}`,a,c,f),dy("target",h,i,a,e,g),b.set(d.id,d)}}function dA(a,b){if(null===a||null===b)return!1;let c=Array.isArray(a)?a:[a],d=Array.isArray(b)?b:[b];if(c.length!==d.length)return!1;for(let a=0;a<c.length;a++)if(c[a].id!==d[a].id||c[a].type!==d[a].type||!Object.is(c[a].data,d[a].data))return!1;return!0}function dB(a,b,c){let d=a;do{if(d?.matches?.(b))return!0;if(d===c)break;d=d?.parentElement}while(d)return!1}function dC({nodeId:a,dragItems:b,nodeLookup:c,dragging:d=!0}){let e=[];for(let[a,f]of b){let b=c.get(a)?.internals.userNode;b&&e.push({...b,position:f.position,dragging:d})}if(!a)return[e[0],e];let f=c.get(a)?.internals.userNode;return[f?{...f,position:b.get(a)?.position||f.position,dragging:d}:e[0],e]}function dD({onNodeMouseDown:a,getStoreItems:b,onDragStart:c,onDrag:d,onDragStop:e}){let f={x:null,y:null},g=0,h=new Map,i=!1,j={x:0,y:0},k=null,l=!1,m=null,n=!1,o=!1,p=null;return{update:function({noDragClassName:q,handleSelector:r,domNode:s,isSelectable:t,nodeId:u,nodeClickDistance:v=0}){function w({x:a,y:c}){let{nodeLookup:e,nodeExtent:g,snapGrid:i,snapToGrid:j,nodeOrigin:k,onNodeDrag:l,onSelectionDrag:m,onError:n,updateNodePositions:q}=b();f={x:a,y:c};let r=!1,s=h.size>1,t=s&&g?cv(ck(h)):null,v=s&&j?function({dragItems:a,snapGrid:b,x:c,y:d}){let e=a.values().next().value;if(!e)return null;let f={x:c-e.distance.x,y:d-e.distance.y},g=cE(f,b);return{x:g.x-f.x,y:g.y-f.y}}({dragItems:h,snapGrid:i,x:a,y:c}):null;for(let[b,d]of h){if(!e.has(b))continue;let f={x:a-d.distance.x,y:c-d.distance.y};j&&(f=v?{x:Math.round(f.x+v.x),y:Math.round(f.y+v.y)}:cE(f,i));let h=null;if(s&&g&&!d.extent&&t){let{positionAbsolute:a}=d.internals,b=a.x-t.x+g[0][0],c=a.x+d.measured.width-t.x2+g[1][0];h=[[b,a.y-t.y+g[0][1]],[c,a.y+d.measured.height-t.y2+g[1][1]]]}let{position:l,positionAbsolute:m}=cn({nodeId:b,nextPosition:f,nodeLookup:e,nodeExtent:h||g,nodeOrigin:k,onError:n});r=r||d.position.x!==l.x||d.position.y!==l.y,d.position=l,d.internals.positionAbsolute=m}if(o=o||r,r&&(q(h,!0),p&&(d||l||!u&&m))){let[a,b]=dC({nodeId:u,dragItems:h,nodeLookup:e});d?.(p,h,a,b),l?.(p,a,b),u||m?.(p,b)}}async function x(){if(!k)return;let{transform:a,panBy:c,autoPanSpeed:d,autoPanOnNodeDrag:e}=b();if(!e){i=!1,cancelAnimationFrame(g);return}let[h,l]=ct(j,k,d);(0!==h||0!==l)&&(f.x=(f.x??0)-h/a[2],f.y=(f.y??0)-l/a[2],await c({x:h,y:l})&&w(f)),g=requestAnimationFrame(x)}function y(d){let{nodeLookup:e,multiSelectionActive:g,nodesDraggable:i,transform:j,snapGrid:m,snapToGrid:n,selectNodesOnDrag:o,onNodeDragStart:p,onSelectionDragStart:q,unselectNodesAndEdges:r}=b();l=!0,o&&t||g||!u||e.get(u)?.selected||r(),t&&o&&u&&a?.(u);let s=cR(d.sourceEvent,{transform:j,snapGrid:m,snapToGrid:n,containerBounds:k});if(f=s,(h=function(a,b,c,d){let e=new Map;for(let[f,g]of a)if((g.selected||g.id===d)&&(!g.parentId||!function a(b,c){if(!b.parentId)return!1;let d=c.get(b.parentId);return!!d&&(!!d.selected||a(d,c))}(g,a))&&(g.draggable||b&&void 0===g.draggable)){let b=a.get(f);b&&e.set(f,{id:f,position:b.position||{x:0,y:0},distance:{x:c.x-b.internals.positionAbsolute.x,y:c.y-b.internals.positionAbsolute.y},extent:b.extent,parentId:b.parentId,origin:b.origin,expandParent:b.expandParent,internals:{positionAbsolute:b.internals.positionAbsolute||{x:0,y:0}},measured:{width:b.measured.width??0,height:b.measured.height??0}})}return e}(e,i,s,u)).size>0&&(c||p||!u&&q)){let[a,b]=dC({nodeId:u,dragItems:h,nodeLookup:e});c?.(d.sourceEvent,h,a,b),p?.(d.sourceEvent,a,b),u||q?.(d.sourceEvent,b)}}m=am(s);let z=aA().clickDistance(v).on("start",a=>{let{domNode:c,nodeDragThreshold:d,transform:e,snapGrid:g,snapToGrid:h}=b();k=c?.getBoundingClientRect()||null,n=!1,o=!1,p=a.sourceEvent,0===d&&y(a),f=cR(a.sourceEvent,{transform:e,snapGrid:g,snapToGrid:h,containerBounds:k}),j=cX(a.sourceEvent,k)}).on("drag",a=>{let{autoPanOnNodeDrag:c,transform:d,snapGrid:e,snapToGrid:g,nodeDragThreshold:m,nodeLookup:o}=b(),q=cR(a.sourceEvent,{transform:d,snapGrid:e,snapToGrid:g,containerBounds:k});if(p=a.sourceEvent,("touchmove"===a.sourceEvent.type&&a.sourceEvent.touches.length>1||u&&!o.has(u))&&(n=!0),!n){if(!i&&c&&l&&(i=!0,x()),!l){let b=cX(a.sourceEvent,k),c=b.x-j.x,d=b.y-j.y;Math.sqrt(c*c+d*d)>m&&y(a)}(f.x!==q.xSnapped||f.y!==q.ySnapped)&&h&&l&&(j=cX(a.sourceEvent,k),w(q))}}).on("end",a=>{if(l&&!n&&(i=!1,l=!1,cancelAnimationFrame(g),h.size>0)){let{nodeLookup:c,updateNodePositions:d,onNodeDragStop:f,onSelectionDragStop:g}=b();if(o&&(d(h,!1),o=!1),e||f||!u&&g){let[b,d]=dC({nodeId:u,dragItems:h,nodeLookup:c,dragging:!1});e?.(a.sourceEvent,h,b,d),f?.(a.sourceEvent,b,d),u||g?.(a.sourceEvent,d)}}}).filter(a=>{let b=a.target;return!a.button&&(!q||!dB(b,`.${q}`,s))&&(!r||dB(b,r,s))});m.call(z)},destroy:function(){m?.on(".drag",null)}}}function dE(a,b,c,d,e,f=!1){let g=d.get(a);if(!g)return null;let h="strict"===e?g.internals.handleBounds?.[b]:[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]],i=(c?h?.find(a=>a.id===c):h?.[0])??null;return i&&f?{...i,...de(g,i,i.position,!0)}:i}function dF(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let dG=()=>!0;function dH(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:e,fromType:f,doc:g,lib:h,flowId:i,isValidConnection:j=dG,nodeLookup:l}){let m="target"===f,n=b?g.querySelector(`.${h}-flow__handle[data-id="${i}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:o,y:p}=cX(a),q=g.elementFromPoint(o,p),r=q?.classList.contains(`${h}-flow__handle`)?q:n,s={handleDomNode:r,isValid:!1,connection:null,toHandle:null};if(r){let a=dF(void 0,r),b=r.getAttribute("data-nodeid"),f=r.getAttribute("data-handleid"),g=r.classList.contains("connectable"),h=r.classList.contains("connectableend");if(!b||!a)return s;let i={source:m?b:d,sourceHandle:m?f:e,target:m?d:b,targetHandle:m?e:f};s.connection=i,s.isValid=g&&h&&(c===k.Strict?m&&"source"===a||!m&&"target"===a:b!==d||f!==e)&&j(i),s.toHandle=dE(b,a,f,l,c,!0)}return s}let dI={onPointerDown:function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:j,autoPanOnConnect:k,flowId:l,panBy:m,cancelConnection:n,onConnectStart:o,onConnect:q,onConnectEnd:r,isValidConnection:s=dG,onReconnectEnd:t,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=cT(a.target),C=0,{x:D,y:E}=cX(a),F=dF(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=dE(e,F,d,i,b);if(!I)return;let J=cX(a,G),K=!1,L=null,M=!1,N=null,O={...I,nodeId:e,type:F,position:I.position},P=i.get(e),Q={inProgress:!0,isValid:null,from:de(P,O,p.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:cb[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),o?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let n;if(!H){let{x:b,y:c}=cX(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let o=v();A=function(a,b,c,d){let e=[],f=1/0;for(let g of function(a,b,c){let d=[],e={x:a.x-c,y:a.y-c,width:2*c,height:2*c};for(let a of b.values())cA(e,cx(a))>0&&d.push(a);return d}(a,c,b+250))for(let c of[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]]){if(d.nodeId===c.nodeId&&d.type===c.type&&d.id===c.id)continue;let{x:h,y:i}=de(g,c,c.position,!0),j=Math.sqrt(Math.pow(h-a.x,2)+Math.pow(i-a.y,2));j>b||(j<f?(e=[{...c,x:h,y:i}],f=j):j===f&&e.push({...c,x:h,y:i}))}if(!e.length)return null;if(e.length>1){let a="source"===d.type?"target":"source";return e.find(b=>b.type===a)??e[0]}return e[0]}(cF(J=cX(a,G),o,!1,[1,1]),c,i,O),K||(!function a(){if(!k||!G)return;let[b,c]=ct(J,G,x);m({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let q=dH(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:s,doc:B,lib:j,flowId:l,nodeLookup:i});N=q.handleDomNode,L=q.connection,f=!!A,h=q.isValid,n=null,h?n=!0:f&&!h&&(n=!1),M=n;let r=i.get(e),t=r?de(r,O,p.Left,!0):Q.from,z={...Q,from:t,isValid:M,to:q.toHandle&&M?cG({x:q.toHandle.x,y:q.toHandle.y},o):J,toHandle:q.toHandle,toPosition:M&&q.toHandle?q.toHandle.position:cb[O.position],toNode:q.toHandle?i.get(q.toHandle.nodeId):null,pointer:J};u(z),Q=z}function T(a){if(!("touches"in a)||!(a.touches.length>0)){if(H){(A||N)&&L&&M&&q?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};r?.(a,d),f&&t?.(a,d)}n(),cancelAnimationFrame(C),K=!1,M=!1,L=null,N=null,B.removeEventListener("mousemove",S),B.removeEventListener("mouseup",T),B.removeEventListener("touchmove",S),B.removeEventListener("touchend",T)}}0===y&&R(),B.addEventListener("mousemove",S),B.addEventListener("mouseup",T),B.addEventListener("touchmove",S),B.addEventListener("touchend",T)},isValid:dH};function dJ({domNode:a,panZoom:b,getTransform:c,getViewScale:d}){let e=am(a);return{update:function({translateExtent:a,width:f,height:g,zoomStep:h=1,pannable:i=!0,zoomable:j=!0,inversePan:k=!1}){let l=[0,0],m=b4().on("start",a=>{("mousedown"===a.sourceEvent.type||"touchstart"===a.sourceEvent.type)&&(l=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY])}).on("zoom",i?e=>{let h=c();if("mousemove"!==e.sourceEvent.type&&"touchmove"!==e.sourceEvent.type||!b)return;let i=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY],j=[i[0]-l[0],i[1]-l[1]];l=i;let m=d()*Math.max(h[2],Math.log(h[2]))*(k?-1:1),n={x:h[0]-j[0]*m,y:h[1]-j[1]*m};b.setViewportConstrained({x:n.x,y:n.y,zoom:h[2]},[[0,0],[f,g]],a)}:null).on("zoom.wheel",j?a=>{if("wheel"!==a.sourceEvent.type||!b)return;let d=c(),e=a.sourceEvent.ctrlKey&&cJ()?10:1,f=-a.sourceEvent.deltaY*(1===a.sourceEvent.deltaMode?.05:a.sourceEvent.deltaMode?1:.002)*h,g=d[2]*Math.pow(2,f*e);b.scaleTo(g)}:null);e.call(m,{})},destroy:function(){e.on("zoom",null)},pointer:an}}let dK=a=>({x:a.x,y:a.y,zoom:a.k}),dL=({x:a,y:b,zoom:c})=>bW.translate(a,b).scale(c),dM=(a,b)=>a.target.closest(`.${b}`),dN=(a,b)=>2===b&&Array.isArray(a)&&a.includes(2),dO=a=>((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2,dP=(a,b=0,c=dO,d=()=>{})=>{let e="number"==typeof b&&b>0;return e||d(),e?a.transition().duration(b).ease(c).on("end",d):a},dQ=a=>{let b=a.ctrlKey&&cJ()?10:1;return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*b};function dR({domNode:a,minZoom:b,maxZoom:c,translateExtent:d,viewport:e,onPanZoom:f,onPanZoomStart:g,onPanZoomEnd:h,onDraggingChange:i}){let j={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},k=a.getBoundingClientRect(),m=b4().scaleExtent([b,c]).translateExtent(d),n=am(a).call(m);s({x:e.x,y:e.y,zoom:cp(e.zoom,b,c)},[[0,0],[k.width,k.height]],d);let o=n.on("wheel.zoom"),p=n.on("dblclick.zoom");function q(a,b){return n?new Promise(c=>{m?.interpolate(b?.interpolate==="linear"?b5:aC).transform(dP(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)}function r(){m.on("zoom",null)}async function s(a,b,c){let d=dL(a),e=m?.constrain()(d,b,c);return e&&await q(e),new Promise(a=>a(e))}return m.wheelDelta(dQ),{update:function({noWheelClassName:a,noPanClassName:b,onPaneContextMenu:c,userSelectionActive:d,panOnScroll:e,panOnDrag:k,panOnScrollMode:q,panOnScrollSpeed:s,preventScrolling:t,zoomOnPinch:u,zoomOnScroll:v,zoomOnDoubleClick:w,zoomActivationKeyPressed:x,lib:y,onTransformChange:z,connectionInProgress:A,paneClickDistance:B,selectionOnDrag:C}){d&&!j.isZoomingOrPanning&&r();let D=e&&!x&&!d;m.clickDistance(C?1/0:!cC(B)||B<0?0:B);let E=D?function({zoomPanValues:a,noWheelClassName:b,d3Selection:c,d3Zoom:d,panOnScrollMode:e,panOnScrollSpeed:f,zoomOnPinch:g,onPanZoomStart:h,onPanZoom:i,onPanZoomEnd:j}){return k=>{if(dM(k,b))return k.ctrlKey&&k.preventDefault(),!1;k.preventDefault(),k.stopImmediatePropagation();let m=c.property("__zoom").k||1;if(k.ctrlKey&&g){let a=an(k),b=m*Math.pow(2,dQ(k));d.scaleTo(c,b,a,k);return}let n=1===k.deltaMode?20:1,o=e===l.Vertical?0:k.deltaX*n,p=e===l.Horizontal?0:k.deltaY*n;!cJ()&&k.shiftKey&&e!==l.Vertical&&(o=k.deltaY*n,p=0),d.translateBy(c,-(o/m)*f,-(p/m)*f,{internal:!0});let q=dK(c.property("__zoom"));clearTimeout(a.panScrollTimeout),a.isPanScrolling?(i?.(k,q),a.panScrollTimeout=setTimeout(()=>{j?.(k,q),a.isPanScrolling=!1},150)):(a.isPanScrolling=!0,h?.(k,q))}}({zoomPanValues:j,noWheelClassName:a,d3Selection:n,d3Zoom:m,panOnScrollMode:q,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:g,onPanZoom:f,onPanZoomEnd:h}):function({noWheelClassName:a,preventScrolling:b,d3ZoomHandler:c}){return function(d,e){let f="wheel"===d.type,g=!b&&f&&!d.ctrlKey,h=dM(d,a);if(d.ctrlKey&&f&&h&&d.preventDefault(),g||h)return null;d.preventDefault(),c.call(this,d,e)}}({noWheelClassName:a,preventScrolling:t,d3ZoomHandler:o});if(n.on("wheel.zoom",E,{passive:!1}),!d){let a=function({zoomPanValues:a,onDraggingChange:b,onPanZoomStart:c}){return d=>{if(d.sourceEvent?.internal)return;let e=dK(d.transform);a.mouseButton=d.sourceEvent?.button||0,a.isZoomingOrPanning=!0,a.prevViewport=e,d.sourceEvent?.type==="mousedown"&&b(!0),c&&c?.(d.sourceEvent,e)}}({zoomPanValues:j,onDraggingChange:i,onPanZoomStart:g});m.on("start",a);let b=function({zoomPanValues:a,panOnDrag:b,onPaneContextMenu:c,onTransformChange:d,onPanZoom:e}){return f=>{a.usedRightMouseButton=!!(c&&dN(b,a.mouseButton??0)),f.sourceEvent?.sync||d([f.transform.x,f.transform.y,f.transform.k]),e&&!f.sourceEvent?.internal&&e?.(f.sourceEvent,dK(f.transform))}}({zoomPanValues:j,panOnDrag:k,onPaneContextMenu:!!c,onPanZoom:f,onTransformChange:z});m.on("zoom",b);let d=function({zoomPanValues:a,panOnDrag:b,panOnScroll:c,onDraggingChange:d,onPanZoomEnd:e,onPaneContextMenu:f}){return g=>{if(!g.sourceEvent?.internal&&(a.isZoomingOrPanning=!1,f&&dN(b,a.mouseButton??0)&&!a.usedRightMouseButton&&g.sourceEvent&&f(g.sourceEvent),a.usedRightMouseButton=!1,d(!1),e)){let b=dK(g.transform);a.prevViewport=b,clearTimeout(a.timerId),a.timerId=setTimeout(()=>{e?.(g.sourceEvent,b)},150*!!c)}}}({zoomPanValues:j,panOnDrag:k,panOnScroll:e,onPaneContextMenu:c,onPanZoomEnd:h,onDraggingChange:i});m.on("end",d)}let F=function({zoomActivationKeyPressed:a,zoomOnScroll:b,zoomOnPinch:c,panOnDrag:d,panOnScroll:e,zoomOnDoubleClick:f,userSelectionActive:g,noWheelClassName:h,noPanClassName:i,lib:j,connectionInProgress:k}){return l=>{let m=a||b,n=c&&l.ctrlKey,o="wheel"===l.type;if(1===l.button&&"mousedown"===l.type&&(dM(l,`${j}-flow__node`)||dM(l,`${j}-flow__edge`)))return!0;if(!d&&!m&&!e&&!f&&!c||g||k&&!o||dM(l,h)&&o||dM(l,i)&&(!o||e&&o&&!a)||!c&&l.ctrlKey&&o)return!1;if(!c&&"touchstart"===l.type&&l.touches?.length>1)return l.preventDefault(),!1;if(!m&&!e&&!n&&o||!d&&("mousedown"===l.type||"touchstart"===l.type)||Array.isArray(d)&&!d.includes(l.button)&&"mousedown"===l.type)return!1;let p=Array.isArray(d)&&d.includes(l.button)||!l.button||l.button<=1;return(!l.ctrlKey||o)&&p}}({zoomActivationKeyPressed:x,panOnDrag:k,zoomOnScroll:v,panOnScroll:e,zoomOnDoubleClick:w,zoomOnPinch:u,userSelectionActive:d,noPanClassName:b,noWheelClassName:a,lib:y,connectionInProgress:A});m.filter(F),w?n.on("dblclick.zoom",p):n.on("dblclick.zoom",null)},destroy:r,setViewport:async function a(a,b){let c=dL(a);return await q(c,b),new Promise(a=>a(c))},setViewportConstrained:s,getViewport:function(){let a=n?bX(n.node()):{x:0,y:0,k:1};return{x:a.x,y:a.y,zoom:a.k}},scaleTo:function(a,b){return n?new Promise(c=>{m?.interpolate(b?.interpolate==="linear"?b5:aC).scaleTo(dP(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)},scaleBy:function(a,b){return n?new Promise(c=>{m?.interpolate(b?.interpolate==="linear"?b5:aC).scaleBy(dP(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)},setScaleExtent:function(a){m?.scaleExtent(a)},setTranslateExtent:function(a){m?.translateExtent(a)},syncViewport:function(a){if(n){let b=dL(a),c=n.property("__zoom");(c.k!==a.zoom||c.x!==a.x||c.y!==a.y)&&m?.transform(n,b,null,{sync:!0})}},setClickDistance:function(a){let b=!cC(a)||a<0?0:a;m?.clickDistance(b)}}}(h=q||(q={})).Line="line",h.Handle="handle";let dS=["top-left","top-right","bottom-left","bottom-right"],dT=["top","right","bottom","left"];function dU(a){let b=a.includes("right")||a.includes("left"),c=a.includes("bottom")||a.includes("top");return{isHorizontal:b,isVertical:c,affectsX:a.includes("left"),affectsY:a.includes("top")}}function dV(a,b){return Math.max(0,b-a)}function dW(a,b){return Math.max(0,a-b)}function dX(a,b,c){return Math.max(0,b-a,a-c)}let dY={width:0,height:0,x:0,y:0},dZ={...dY,pointerX:0,pointerY:0,aspectRatio:1};function d$({domNode:a,nodeId:b,getStoreItems:c,onChange:d,onEnd:e}){let f=am(a),g={controlDirection:dU("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:a,boundaries:h,keepAspectRatio:i,resizeDirection:j,onResizeStart:k,onResize:l,onResizeEnd:m,shouldResize:n}){let o,p,q,r,s={...dY},t={...dZ};g={boundaries:h,resizeDirection:j,keepAspectRatio:i,controlDirection:dU(a)};let u=null,v=[],w=!1,x=aA().on("start",a=>{let{nodeLookup:d,transform:e,snapGrid:f,snapToGrid:g,nodeOrigin:h,paneDomNode:i}=c();if(!(o=d.get(b)))return;u=i?.getBoundingClientRect()??null;let{xSnapped:j,ySnapped:l}=cR(a.sourceEvent,{transform:e,snapGrid:f,snapToGrid:g,containerBounds:u});if(t={...s={width:o.measured.width??0,height:o.measured.height??0,x:o.position.x??0,y:o.position.y??0},pointerX:j,pointerY:l,aspectRatio:s.width/s.height},p=void 0,o.parentId&&("parent"===o.extent||o.expandParent)){var m;q=(p=d.get(o.parentId))&&"parent"===o.extent?[[0,0],[(m=p).measured.width,m.measured.height]]:void 0}for(let[a,c]of(v=[],r=void 0,d))if(c.parentId===b&&(v.push({id:a,position:{...c.position},extent:c.extent}),"parent"===c.extent||c.expandParent)){let a=function(a,b,c){let d=b.position.x+a.position.x,e=b.position.y+a.position.y,f=a.measured.width??0,g=a.measured.height??0,h=c[0]*f,i=c[1]*g;return[[d-h,e-i],[d+f-h,e+g-i]]}(c,o,c.origin??h);r=r?[[Math.min(a[0][0],r[0][0]),Math.min(a[0][1],r[0][1])],[Math.max(a[1][0],r[1][0]),Math.max(a[1][1],r[1][1])]]:a}k?.(a,{...s})}).on("drag",a=>{let{transform:b,snapGrid:e,snapToGrid:f,nodeOrigin:h}=c(),i=cR(a.sourceEvent,{transform:b,snapGrid:e,snapToGrid:f,containerBounds:u}),j=[];if(!o)return;let{x:k,y:m,width:x,height:y}=s,z={},A=o.origin??h,{width:B,height:C,x:D,y:E}=function(a,b,c,d,e,f,g,h){var i,j,k,l;let{affectsX:m,affectsY:n}=b,{isHorizontal:o,isVertical:p}=b,q=o&&p,{xSnapped:r,ySnapped:s}=c,{minWidth:t,maxWidth:u,minHeight:v,maxHeight:w}=d,{x:x,y:y,width:z,height:A,aspectRatio:B}=a,C=Math.floor(o?r-a.pointerX:0),D=Math.floor(p?s-a.pointerY:0),E=z+(m?-C:C),F=A+(n?-D:D),G=-f[0]*z,H=-f[1]*A,I=dX(E,t,u),J=dX(F,v,w);if(g){let a=0,b=0;m&&C<0?a=dV(x+C+G,g[0][0]):!m&&C>0&&(a=dW(x+E+G,g[1][0])),n&&D<0?b=dV(y+D+H,g[0][1]):!n&&D>0&&(b=dW(y+F+H,g[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(h){let a=0,b=0;m&&C>0?a=dW(x+C,h[0][0]):!m&&C<0&&(a=dV(x+E,h[1][0])),n&&D>0?b=dW(y+D,h[0][1]):!n&&D<0&&(b=dV(y+F,h[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(e){if(o){(I=Math.max(I,dX(E/B,v,w)*B),g)&&(I=Math.max(I,(m||n)&&(!m||n||!q)?dV(y+H+(m?C:-C)/B,g[0][1])*B:dW(y+H+E/B,g[1][1])*B));h&&(I=Math.max(I,(m||n)&&(!m||n||!q)?dW(y+(m?C:-C)/B,h[0][1])*B:dV(y+E/B,h[1][1])*B))}if(p){(J=Math.max(J,dX(F*B,t,u)/B),g)&&(J=Math.max(J,(m||n)&&(!n||m||!q)?dV(x+(n?D:-D)*B+G,g[0][0])/B:dW(x+F*B+G,g[1][0])/B));h&&(J=Math.max(J,(m||n)&&(!n||m||!q)?dW(x+(n?D:-D)*B,h[0][0])/B:dV(x+F*B,h[1][0])/B))}}D+=D<0?J:-J,C+=C<0?I:-I,e&&(q?E>F*B?D=((i=m,j=n,i?!j:j)?-C:C)/B:C=((k=m,l=n,k?!l:l)?-D:D)*B:o?(D=C/B,n=m):(C=D*B,m=n));let K=m?x+C:x,L=n?y+D:y;return{width:z+(m?-C:C),height:A+(n?-D:D),x:f[0]*C*(m?-1:1)+K,y:f[1]*D*(n?-1:1)+L}}(t,g.controlDirection,i,g.boundaries,g.keepAspectRatio,A,q,r),F=B!==x,G=C!==y,H=D!==k&&F,I=E!==m&&G;if(!H&&!I&&!F&&!G)return;if((H||I||1===A[0]||1===A[1])&&(z.x=H?D:s.x,z.y=I?E:s.y,s.x=z.x,s.y=z.y,v.length>0)){let a=D-k,b=E-m;for(let c of v)c.position={x:c.position.x-a+A[0]*(B-x),y:c.position.y-b+A[1]*(C-y)},j.push(c)}if((F||G)&&(z.width=F&&(!g.resizeDirection||"horizontal"===g.resizeDirection)?B:s.width,z.height=G&&(!g.resizeDirection||"vertical"===g.resizeDirection)?C:s.height,s.width=z.width,s.height=z.height),p&&o.expandParent){let a=A[0]*(z.width??0);z.x&&z.x<a&&(s.x=a,t.x=t.x-(z.x-a));let b=A[1]*(z.height??0);z.y&&z.y<b&&(s.y=b,t.y=t.y-(z.y-b))}let J=function({width:a,prevWidth:b,height:c,prevHeight:d,affectsX:e,affectsY:f}){let g=a-b,h=c-d,i=[g>0?1:g<0?-1:0,h>0?1:h<0?-1:0];return g&&e&&(i[0]=-1*i[0]),h&&f&&(i[1]=-1*i[1]),i}({width:s.width,prevWidth:x,height:s.height,prevHeight:y,affectsX:g.controlDirection.affectsX,affectsY:g.controlDirection.affectsY}),K={...s,direction:J};!1!==n?.(a,K)&&(w=!0,l?.(a,K),d(z,j))}).on("end",a=>{w&&(m?.(a,{...s}),e?.({...s}),w=!1)});f.call(x)},destroy:function(){f.on(".drag",null)}}}a.s(["ConnectionLineType",()=>n,"ConnectionMode",()=>k,"MarkerType",()=>o,"PanOnScrollMode",()=>l,"Position",()=>p,"ResizeControlVariant",()=>q,"SelectionMode",()=>m,"XYDrag",()=>dD,"XYHandle",()=>dI,"XYMinimap",()=>dJ,"XYPanZoom",()=>dR,"XYResizer",()=>d$,"XY_RESIZER_HANDLE_POSITIONS",()=>dS,"XY_RESIZER_LINE_POSITIONS",()=>dT,"addEdge",()=>c5,"adoptUserNodes",()=>ds,"areConnectionMapsEqual",()=>cc,"areSetsEqual",()=>cO,"calculateNodePosition",()=>cn,"createMarkerIds",()=>dh,"defaultAriaLabelConfig",()=>b9,"devWarn",()=>cD,"elementSelectionKeys",()=>b8,"errorMessages",()=>b6,"evaluateAbsolutePosition",()=>cN,"fitViewport",()=>cm,"getBezierEdgeCenter",()=>cZ,"getBezierPath",()=>c0,"getBoundsOfRects",()=>cz,"getConnectionStatus",()=>ce,"getDimensions",()=>cS,"getEdgePosition",()=>dc,"getEdgeToolbarTransform",()=>dl,"getElementsToRemove",()=>co,"getElevatedEdgeZIndex",()=>c2,"getEventPosition",()=>cX,"getHandlePosition",()=>de,"getHostForElement",()=>cT,"getInternalNodesBounds",()=>ck,"getMarkerId",()=>dg,"getNodeDimensions",()=>cL,"getNodeToolbarTransform",()=>di,"getNodesBounds",()=>cj,"getNodesInside",()=>cl,"getOverlappingArea",()=>cA,"getSmoothStepPath",()=>da,"getStraightPath",()=>c6,"getViewportForBounds",()=>cI,"handleConnectionChange",()=>cd,"handleExpandParent",()=>dv,"infiniteExtent",()=>b7,"initialConnection",()=>ca,"isEdgeBase",()=>cf,"isEdgeVisible",()=>c3,"isInputDOMNode",()=>cV,"isMacOs",()=>cJ,"isMouseEvent",()=>cW,"isNodeBase",()=>cg,"isNumeric",()=>cC,"isRectObject",()=>cB,"mergeAriaLabelConfig",()=>cQ,"nodeHasDimensions",()=>cM,"nodeToRect",()=>cx,"panBy",()=>dx,"pointToRendererPoint",()=>cF,"rendererPointToPoint",()=>cG,"shallowNodeData",()=>dA,"snapPosition",()=>cE,"updateAbsolutePositions",()=>dq,"updateConnectionLookup",()=>dz,"updateNodeInternals",()=>dw,"withResolvers",()=>cP],60047);var d_=a.i(11456);let d0={get url(){return`file://${a.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.10_react@19.2.4/node_modules/zustand/esm/vanilla.mjs")}`}},d1=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{(d0.env?d0.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:d2}=t.default,{useSyncExternalStoreWithSelector:d3}=d_.default,d4=a=>a;function d5(a,b=d4,c){let d=d3(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return d2(d),d}let d6=(a,b)=>{let c=a?d1(a):d1,d=(a,d=b)=>d5(c,a,d);return Object.assign(d,c),d};function d7(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}a.i(55690);let d8=(0,t.createContext)(null),d9=d8.Provider,ea=b6.error001();function eb(a,b){let c=(0,t.useContext)(d8);if(null===c)throw Error(ea);return d5(c,a,b)}function ec(){let a=(0,t.useContext)(d8);if(null===a)throw Error(ea);return(0,t.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let ed={display:"none"},ee={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ef="react-flow__node-desc",eg="react-flow__edge-desc",eh=a=>a.ariaLiveMessage,ei=a=>a.ariaLabelConfig;function ej({rfId:a}){let b=eb(eh);return(0,s.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:ee,children:b})}function ek({rfId:a,disableKeyboardA11y:b}){let c=eb(ei);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{id:`${ef}-${a}`,style:ed,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,s.jsx)("div",{id:`${eg}-${a}`,style:ed,children:c["edge.a11yDescription.default"]}),!b&&(0,s.jsx)(ej,{rfId:a})]})}let el=(0,t.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...e},f)=>{let g=`${a}`.split("-");return(0,s.jsx)("div",{className:u(["react-flow__panel",c,...g]),style:d,ref:f,...e,children:b})});function em({proOptions:a,position:b="bottom-right"}){return a?.hideAttribution?null:(0,s.jsx)(el,{position:b,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,s.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}el.displayName="Panel";let en=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},eo=a=>a.id;function ep(a,b){return d7(a.selectedNodes.map(eo),b.selectedNodes.map(eo))&&d7(a.selectedEdges.map(eo),b.selectedEdges.map(eo))}function eq({onSelectionChange:a}){let b=ec(),{selectedNodes:c,selectedEdges:d}=eb(en,ep);return(0,t.useEffect)(()=>{let e={nodes:c,edges:d};a?.(e),b.getState().onSelectionChangeHandlers.forEach(a=>a(e))},[c,d,a]),null}let er=a=>!!a.onSelectionChangeHandlers;function es({onSelectionChange:a}){let b=eb(er);return a||b?(0,s.jsx)(eq,{onSelectionChange:a}):null}let et=[0,0],eu={x:0,y:0,zoom:1},ev=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],ew=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges}),ex={translateExtent:b7,nodeOrigin:et,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ey(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:f,setNodeExtent:g,reset:h,setDefaultNodesAndEdges:i}=eb(ew,d7),j=ec();(0,t.useEffect)(()=>(i(a.defaultNodes,a.defaultEdges),()=>{k.current=ex,h()}),[]);let k=(0,t.useRef)(ex);return(0,t.useEffect)(()=>{for(let h of ev){let i=a[h];i!==k.current[h]&&void 0!==a[h]&&("nodes"===h?b(i):"edges"===h?c(i):"minZoom"===h?d(i):"maxZoom"===h?e(i):"translateExtent"===h?f(i):"nodeExtent"===h?g(i):"ariaLabelConfig"===h?j.setState({ariaLabelConfig:cQ(i)}):"fitView"===h?j.setState({fitViewQueued:i}):"fitViewOptions"===h?j.setState({fitViewOptions:i}):j.setState({[h]:i}))}k.current=a},ev.map(b=>a[b])),null}let ez="u">typeof document?document:null;function eA(a=null,b={target:ez,actInsideInputWithModifier:!0}){let[c,d]=(0,t.useState)(!1),e=(0,t.useRef)(!1),f=(0,t.useRef)(new Set([])),[g,h]=(0,t.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace("+","\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return(0,t.useEffect)(()=>{let c=b?.target??ez,i=b?.actInsideInputWithModifier??!0;if(null!==a){let a=a=>{if(e.current=a.ctrlKey||a.metaKey||a.shiftKey||a.altKey,(!e.current||e.current&&!i)&&cV(a))return!1;let c=eC(a.code,h);if(f.current.add(a[c]),eB(g,f.current,!1)){let c=a.composedPath?.()?.[0]||a.target,f=c?.nodeName==="BUTTON"||c?.nodeName==="A";!1!==b.preventDefault&&(e.current||!f)&&a.preventDefault(),d(!0)}},j=a=>{let b=eC(a.code,h);eB(g,f.current,!0)?(d(!1),f.current.clear()):f.current.delete(a[b]),"Meta"===a.key&&f.current.clear(),e.current=!1},k=()=>{f.current.clear(),d(!1)};return c?.addEventListener("keydown",a),c?.addEventListener("keyup",j),window.addEventListener("blur",k),window.addEventListener("contextmenu",k),()=>{c?.removeEventListener("keydown",a),c?.removeEventListener("keyup",j),window.removeEventListener("blur",k),window.removeEventListener("contextmenu",k)}}},[a,d]),c}function eB(a,b,c){return a.filter(a=>c||a.length===b.size).some(a=>a.every(a=>b.has(a)))}function eC(a,b){return b.includes(a)?"code":"key"}function eD(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured={...f.dimensions},f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function eE(a,b){return{id:a,type:"select",selected:b}}function eF(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(eE(f.id,a)))}return d}function eG({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function eH(a){return{id:a.id,type:"remove"}}function eI(a){return(0,t.forwardRef)(a)}let eJ=t.useEffect;function eK(a){let[b,c]=(0,t.useState)(BigInt(0)),[d]=(0,t.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return eJ(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let eL=(0,t.createContext)(null);function eM({children:a}){let b=ec(),c=eK((0,t.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h,onNodesChangeMiddlewareMap:i}=b.getState(),j=c;for(let b of a)j="function"==typeof b?b(j):b;let k=eG({items:j,lookup:g});for(let a of i.values())k=a(k);e&&d(j),k.length>0?f?.(k):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=eK((0,t.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(eG({items:h,lookup:g}))},[])),e=(0,t.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,s.jsx)(eL.Provider,{value:e,children:a})}let eN=a=>!!a.panZoom;function eO(){let a,b=(a=ec(),(0,t.useMemo)(()=>({zoomIn:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomOut:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1/1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomTo:(b,c)=>{let{panZoom:d}=a.getState();return d?d.scaleTo(b,{duration:c?.duration}):Promise.resolve(!1)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return g?(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:h}=a.getState(),i=cI(b,d,e,f,g,c?.padding??.1);return h?(await h.setViewport(i,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:h,y:i}=g.getBoundingClientRect(),j={x:b.x-h,y:b.y-i},k=c.snapGrid??e;return cF(j,d,c.snapToGrid??f,k)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=cG(b,c);return{x:g.x+e,y:g.y+f}}}),[])),c=ec(),d=function(){let a=(0,t.useContext)(eL);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),e=eb(eN),f=(0,t.useMemo)(()=>{let a=a=>c.getState().nodeLookup.get(a),b=a=>{d.nodeQueue.push(a)},e=a=>{d.edgeQueue.push(a)},f=a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState(),e=cg(a)?a:b.get(a.id),f=e.parentId?cN(e.position,e.measured,e.parentId,b,d):e.position;return cx({...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height})},g=(a,c,d={replace:!1})=>{b(b=>b.map(b=>{if(b.id===a){let a="function"==typeof c?c(b):c;return d.replace&&cg(a)?a:{...b,...a}}return b}))},h=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&cf(a)?a:{...d,...a}}return d}))};return{getNodes:()=>c.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=c.getState();return a.map(a=>({...a}))},getEdge:a=>c.getState().edgeLookup.get(a),setNodes:b,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];d.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];d.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:b=[],transform:d}=c.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:b.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:b=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:h,triggerEdgeChanges:i,onDelete:j,onBeforeDelete:k}=c.getState(),{nodes:l,edges:m}=await co({nodesToRemove:a,edgesToRemove:b,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(eH);g?.(m),i(a)}if(o){let a=l.map(eH);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,b=!0,d)=>{let e=cB(a),g=e?a:f(a),h=void 0!==d;return g?(d||c.getState().nodes).filter(d=>{let f=c.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let i=cx(h?d:f),j=cA(i,g);return b&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=cB(a)?a:f(a);if(!d)return!1;let e=cA(d,b);return c&&e>0||e>=b.width*b.height||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:h,updateEdgeData:(a,b,c={replace:!1})=>{h(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState();return cj(a,{nodeLookup:b,nodeOrigin:d})},getHandleConnections:({type:a,id:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}-${a}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}${a?b?`-${a}-${b}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let b=c.getState().fitViewResolver??cP();return c.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:b}),d.nodeQueue.push(a=>[...a]),b.promise}}},[]);return(0,t.useMemo)(()=>({...f,...b,viewportInitialized:e}),[e])}let eP=a=>a.selected,eQ,eR={position:"absolute",width:"100%",height:"100%",top:0,left:0},eS=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function eT({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panOnScrollSpeed:e=.5,panOnScrollMode:f=l.Free,zoomOnDoubleClick:g=!0,panOnDrag:h=!0,defaultViewport:i,translateExtent:j,minZoom:k,maxZoom:m,zoomActivationKeyCode:n,preventScrolling:o=!0,children:p,noWheelClassName:q,noPanClassName:r,onViewportChange:u,isControlledViewport:v,paneClickDistance:w,selectionOnDrag:x}){let y,z=ec(),A=(0,t.useRef)(null),{userSelectionActive:B,lib:C,connectionInProgress:D}=eb(eS,d7),E=eA(n),F=(0,t.useRef)();y=ec(),(0,t.useEffect)(()=>{let a=()=>{if(!A.current||!(A.current.checkVisibility?.()??!0))return!1;let a=cS(A.current);(0===a.height||0===a.width)&&y.getState().onError?.("004",b6.error004()),y.setState({width:a.width||500,height:a.height||500})};if(A.current){a(),window.addEventListener("resize",a);let b=new ResizeObserver(()=>a());return b.observe(A.current),()=>{window.removeEventListener("resize",a),b&&A.current&&b.unobserve(A.current)}}},[]);let G=(0,t.useCallback)(a=>{u?.({x:a[0],y:a[1],zoom:a[2]}),v||z.setState({transform:a})},[u,v]);return(0,t.useEffect)(()=>{if(A.current){F.current=dR({domNode:A.current,minZoom:k,maxZoom:m,translateExtent:j,viewport:i,onDraggingChange:a=>z.setState({paneDragging:a}),onPanZoomStart:(a,b)=>{let{onViewportChangeStart:c,onMoveStart:d}=z.getState();d?.(a,b),c?.(b)},onPanZoom:(a,b)=>{let{onViewportChange:c,onMove:d}=z.getState();d?.(a,b),c?.(b)},onPanZoomEnd:(a,b)=>{let{onViewportChangeEnd:c,onMoveEnd:d}=z.getState();d?.(a,b),c?.(b)}});let{x:a,y:b,zoom:c}=F.current.getViewport();return z.setState({panZoom:F.current,transform:[a,b,c],domNode:A.current.closest(".react-flow")}),()=>{F.current?.destroy()}}},[]),(0,t.useEffect)(()=>{F.current?.update({onPaneContextMenu:a,zoomOnScroll:b,zoomOnPinch:c,panOnScroll:d,panOnScrollSpeed:e,panOnScrollMode:f,zoomOnDoubleClick:g,panOnDrag:h,zoomActivationKeyPressed:E,preventScrolling:o,noPanClassName:r,userSelectionActive:B,noWheelClassName:q,lib:C,onTransformChange:G,connectionInProgress:D,selectionOnDrag:x,paneClickDistance:w})},[a,b,c,d,e,f,g,h,E,o,r,B,q,C,G,D,x,w]),(0,s.jsx)("div",{className:"react-flow__renderer",ref:A,style:eR,children:p})}let eU=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function eV(){let{userSelectionActive:a,userSelectionRect:b}=eb(eU,d7);return a&&b?(0,s.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let eW=(a,b)=>c=>{c.target===b.current&&a?.(c)},eX=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,connectionInProgress:a.connection.inProgress,dragging:a.paneDragging});function eY({isSelecting:a,selectionKeyPressed:b,selectionMode:c=m.Full,panOnDrag:d,paneClickDistance:e,selectionOnDrag:f,onSelectionStart:g,onSelectionEnd:h,onPaneClick:i,onPaneContextMenu:j,onPaneScroll:k,onPaneMouseEnter:l,onPaneMouseMove:n,onPaneMouseLeave:o,children:p}){let q=ec(),{userSelectionActive:r,elementsSelectable:v,dragging:w,connectionInProgress:x}=eb(eX,d7),y=v&&(a||r),z=(0,t.useRef)(null),A=(0,t.useRef)(),B=(0,t.useRef)(new Set),C=(0,t.useRef)(new Set),D=(0,t.useRef)(!1),E=a=>{if(D.current||x){D.current=!1;return}i?.(a),q.getState().resetSelectedElements(),q.setState({nodesSelectionActive:!1})},F=!0===d||Array.isArray(d)&&d.includes(0);return(0,s.jsxs)("div",{className:u(["react-flow__pane",{draggable:F,dragging:w,selection:a}]),onClick:y?void 0:eW(E,z),onContextMenu:eW(a=>{Array.isArray(d)&&d?.includes(2)?a.preventDefault():j?.(a)},z),onWheel:eW(k?a=>k(a):void 0,z),onPointerEnter:y?void 0:l,onPointerMove:y?a=>{let{userSelectionRect:d,transform:f,nodeLookup:h,edgeLookup:i,connectionLookup:j,triggerNodeChanges:k,triggerEdgeChanges:l,defaultEdgeOptions:n,resetSelectedElements:o}=q.getState();if(!A.current||!d)return;let{x:p,y:r}=cX(a.nativeEvent,A.current),{startX:s,startY:t}=d;if(!D.current){if(Math.hypot(p-s,r-t)<=(b?0:e))return;o(),g?.(a)}D.current=!0;let u={startX:s,startY:t,x:p<s?p:s,y:r<t?r:t,width:Math.abs(p-s),height:Math.abs(r-t)},v=B.current,w=C.current;B.current=new Set(cl(h,u,f,c===m.Partial,!0).map(a=>a.id)),C.current=new Set;let x=n?.selectable??!0;for(let a of B.current){let b=j.get(a);if(b)for(let{edgeId:a}of b.values()){let b=i.get(a);b&&(b.selectable??x)&&C.current.add(a)}}cO(v,B.current)||k(eF(h,B.current,!0)),cO(w,C.current)||l(eF(i,C.current)),q.setState({userSelectionRect:u,userSelectionActive:!0,nodesSelectionActive:!1})}:n,onPointerUp:y?a=>{0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!r&&a.target===z.current&&q.getState().userSelectionRect&&E?.(a),q.setState({userSelectionActive:!1,userSelectionRect:null}),D.current&&(h?.(a),q.setState({nodesSelectionActive:B.current.size>0})))}:void 0,onPointerDownCapture:y?c=>{let{domNode:d}=q.getState();if(A.current=d?.getBoundingClientRect(),!A.current)return;let e=c.target===z.current;if(!e&&c.target.closest(".nokey")||!a||!(f&&e||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),D.current=!1;let{x:g,y:h}=cX(c.nativeEvent,A.current);q.setState({userSelectionRect:{width:0,height:0,startX:g,startY:h,x:g,y:h}}),e||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:y?a=>{D.current&&(a.stopPropagation(),D.current=!1)}:void 0,onPointerLeave:o,ref:z,style:eR,children:[p,(0,s.jsx)(eV,{})]})}function eZ({id:a,store:b,unselect:c=!1,nodeRef:d}){let{addSelectedNodes:e,unselectNodesAndEdges:f,multiSelectionActive:g,nodeLookup:h,onError:i}=b.getState(),j=h.get(a);j?(b.setState({nodesSelectionActive:!1}),j.selected?(c||j.selected&&g)&&(f({nodes:[j],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):e([a])):i?.("012",b6.error012(a))}function e$({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:f,nodeClickDistance:g}){let h=ec(),[i,j]=(0,t.useState)(!1),k=(0,t.useRef)();return(0,t.useEffect)(()=>{k.current=dD({getStoreItems:()=>h.getState(),onNodeMouseDown:b=>{eZ({id:b,store:h,nodeRef:a})},onDragStart:()=>{j(!0)},onDragStop:()=>{j(!1)}})},[]),(0,t.useEffect)(()=>{if(b)k.current?.destroy();else if(a.current)return k.current?.update({noDragClassName:c,handleSelector:d,domNode:a.current,isSelectable:f,nodeId:e,nodeClickDistance:g}),()=>{k.current?.destroy()}},[c,d,b,f,a,e]),i}function e_(){let a=ec();return(0,t.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:h,nodeLookup:i,nodeOrigin:j}=a.getState(),k=new Map,l=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),m=d?e[0]:5,n=d?e[1]:5,o=b.direction.x*m*b.factor,p=b.direction.y*n*b.factor;for(let[,a]of i){if(!l(a))continue;let b={x:a.internals.positionAbsolute.x+o,y:a.internals.positionAbsolute.y+p};d&&(b=cE(b,e));let{position:f,positionAbsolute:h}=cn({nodeId:a.id,nextPosition:b,nodeLookup:i,nodeExtent:c,nodeOrigin:j,onError:g});a.position=f,a.internals.positionAbsolute=h,k.set(a.id,a)}h(k)},[])}let e0=(0,t.createContext)(null),e1=e0.Provider;e0.Consumer;let e2=()=>(0,t.useContext)(e0),e3=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),e4=(0,t.memo)(eI(function({type:a="source",position:b=p.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:e=!0,isConnectableEnd:f=!0,id:g,onConnect:h,children:i,className:j,onMouseDown:l,onTouchStart:m,...n},o){let q=g||null,r="target"===a,t=ec(),v=e2(),{connectOnClick:w,noPanClassName:x,rfId:y}=eb(e3,d7),{connectingFrom:z,connectingTo:A,clickConnecting:B,isPossibleEndHandle:C,connectionInProcess:D,clickConnectionInProcess:E,valid:F}=eb(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:h}=e,i=g?.nodeId===v&&g?.id===q&&g?.type===a;return{connectingFrom:f?.nodeId===v&&f?.id===q&&f?.type===a,connectingTo:i,clickConnecting:c?.nodeId===v&&c?.id===q&&c?.type===a,isPossibleEndHandle:d===k.Strict?f?.type!==a:v!==f?.nodeId||q!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:i&&h}},d7);v||t.getState().onError?.("010",b6.error010());let G=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=t.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b}=t.getState();b(c5(e,a))}c?.(e),h?.(e)},H=a=>{if(!v)return;let b=cW(a.nativeEvent);if(e&&(b&&0===a.button||!b)){let b=t.getState();dI.onPointerDown(a.nativeEvent,{handleDomNode:a.currentTarget,autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:r,handleId:q,nodeId:v,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:b.onConnectEnd,updateConnection:b.updateConnection,onConnect:G,isValidConnection:c||b.isValidConnection,getTransform:()=>t.getState().transform,getFromHandle:()=>t.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?l?.(a):m?.(a)};return(0,s.jsx)("div",{"data-handleid":q,"data-nodeid":v,"data-handlepos":b,"data-id":`${y}-${v}-${q}-${a}`,className:u(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",x,j,{source:!r,target:r,connectable:d,connectablestart:e,connectableend:f,clickconnecting:B,connectingfrom:z,connectingto:A,valid:F,connectionindicator:d&&(!D||C)&&(D||E?f:e)}]),onMouseDown:H,onTouchStart:H,onClick:w?b=>{let{onClickConnectStart:d,onClickConnectEnd:f,connectionClickStartHandle:g,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=t.getState();if(!v||!g&&!e)return;if(!g){d?.(b.nativeEvent,{nodeId:v,handleId:q,handleType:a}),t.setState({connectionClickStartHandle:{nodeId:v,type:a,id:q}});return}let n=cT(b.target),o=c||i,{connection:p,isValid:r}=dI.isValid(b.nativeEvent,{handle:{nodeId:v,id:q,type:a},connectionMode:h,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});r&&p&&G(p);let s=structuredClone(m);delete s.inProgress,s.toPosition=s.toHandle?s.toHandle.position:null,f?.(b,s),t.setState({connectionClickStartHandle:null})}:void 0,ref:o,...n,children:i})})),e5={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},e6={input:function({data:a,isConnectable:b,sourcePosition:c=p.Bottom}){return(0,s.jsxs)(s.Fragment,{children:[a?.label,(0,s.jsx)(e4,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=p.Top,sourcePosition:d=p.Bottom}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e4,{type:"target",position:c,isConnectable:b}),a?.label,(0,s.jsx)(e4,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=p.Top}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e4,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},e7=a=>{let{width:b,height:c,x:d,y:e}=ck(a.nodeLookup,{filter:a=>!!a.selected});return{width:cC(b)?b:null,height:cC(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function e8({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=ec(),{width:e,height:f,transformString:g,userSelectionActive:h}=eb(e7,d7),i=e_(),j=(0,t.useRef)(null);if((0,t.useEffect)(()=>{c||j.current?.focus({preventScroll:!0})},[c]),e$({nodeRef:j}),h||!e||!f)return null;let k=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,s.jsx)("div",{className:u(["react-flow__nodesselection","react-flow__container",b]),style:{transform:g},children:(0,s.jsx)("div",{ref:j,className:"react-flow__nodesselection-rect",onContextMenu:k,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(e5,a.key)&&(a.preventDefault(),i({direction:e5[a.key],factor:a.shiftKey?4:1}))},style:{width:e,height:f}})})}let e9,fa=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function fb({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,paneClickDistance:h,deleteKeyCode:i,selectionKeyCode:j,selectionOnDrag:k,selectionMode:l,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:o,panActivationKeyCode:p,zoomActivationKeyCode:q,elementsSelectable:r,zoomOnScroll:u,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:A,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,preventScrolling:F,onSelectionContextMenu:G,noWheelClassName:H,noPanClassName:I,disableKeyboardA11y:J,onViewportChange:K,isControlledViewport:L}){let{nodesSelectionActive:M,userSelectionActive:N}=eb(fa,d7),O=eA(j,{target:e9}),P=eA(p,{target:e9}),Q=P||A,R=P||w,S=k&&!0!==Q,T=O||N||S;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){let c=ec(),{deleteElements:d}=eO(),e=eA(a,{actInsideInputWithModifier:!1}),f=eA(b,{target:eQ});(0,t.useEffect)(()=>{if(e){let{edges:a,nodes:b}=c.getState();d({nodes:b.filter(eP),edges:a.filter(eP)}),c.setState({nodesSelectionActive:!1})}},[e]),(0,t.useEffect)(()=>{c.setState({multiSelectionActive:f})},[f])}({deleteKeyCode:i,multiSelectionKeyCode:o}),(0,s.jsx)(eT,{onPaneContextMenu:f,elementsSelectable:r,zoomOnScroll:u,zoomOnPinch:v,panOnScroll:R,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:!O&&Q,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,zoomActivationKeyCode:q,preventScrolling:F,noWheelClassName:H,noPanClassName:I,onViewportChange:K,isControlledViewport:L,paneClickDistance:h,selectionOnDrag:S,children:(0,s.jsxs)(eY,{onSelectionStart:m,onSelectionEnd:n,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,panOnDrag:Q,isSelecting:!!T,selectionMode:l,selectionKeyPressed:O,paneClickDistance:h,selectionOnDrag:S,children:[a,M&&(0,s.jsx)(e8,{onSelectionContextMenu:G,noPanClassName:I,disableKeyboardA11y:J})]})})}fb.displayName="FlowRenderer";let fc=(0,t.memo)(fb),fd=a=>a.updateNodeInternals;var fe=(0,t.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:e,onContextMenu:f,onDoubleClick:g,nodesDraggable:h,elementsSelectable:i,nodesConnectable:j,nodesFocusable:k,resizeObserver:l,noDragClassName:m,noPanClassName:n,disableKeyboardA11y:o,rfId:p,nodeTypes:q,nodeClickDistance:r,onError:v}){let{node:w,internals:x,isParent:y}=eb(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},d7),z=w.type||"default",A=q?.[z]||e6[z];void 0===A&&(v?.("003",b6.error003(z)),z="default",A=q?.default||e6.default);let B=!!(w.draggable||h&&void 0===w.draggable),C=!!(w.selectable||i&&void 0===w.selectable),D=!!(w.connectable||j&&void 0===w.connectable),E=!!(w.focusable||k&&void 0===w.focusable),F=ec(),G=cM(w),H=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){let e=ec(),f=(0,t.useRef)(null),g=(0,t.useRef)(null),h=(0,t.useRef)(a.sourcePosition),i=(0,t.useRef)(a.targetPosition),j=(0,t.useRef)(b),k=c&&!!a.internals.handleBounds;return(0,t.useEffect)(()=>{!f.current||a.hidden||k&&g.current===f.current||(g.current&&d?.unobserve(g.current),d?.observe(f.current),g.current=f.current)},[k,a.hidden]),(0,t.useEffect)(()=>()=>{g.current&&(d?.unobserve(g.current),g.current=null)},[]),(0,t.useEffect)(()=>{if(f.current){let c=j.current!==b,d=h.current!==a.sourcePosition,g=i.current!==a.targetPosition;(c||d||g)&&(j.current=b,h.current=a.sourcePosition,i.current=a.targetPosition,e.getState().updateNodeInternals(new Map([[a.id,{id:a.id,nodeElement:f.current,force:!0}]])))}},[a.id,b,a.sourcePosition,a.targetPosition]),f}({node:w,nodeType:z,hasDimensions:G,resizeObserver:l}),I=e$({nodeRef:H,disabled:w.hidden||!B,noDragClassName:m,handleSelector:w.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:r}),J=e_();if(w.hidden)return null;let K=cL(w),L=void 0===w.internals.handleBounds?{width:w.width??w.initialWidth??w.style?.width,height:w.height??w.initialHeight??w.style?.height}:{width:w.width??w.style?.width,height:w.height??w.style?.height},M=C||B||b||c||d||e,N=c?a=>c(a,{...x.userNode}):void 0,O=d?a=>d(a,{...x.userNode}):void 0,P=e?a=>e(a,{...x.userNode}):void 0,Q=f?a=>f(a,{...x.userNode}):void 0,R=g?a=>g(a,{...x.userNode}):void 0;return(0,s.jsx)("div",{className:u(["react-flow__node",`react-flow__node-${z}`,{[n]:B},w.className,{selected:w.selected,selectable:C,parent:y,draggable:B,dragging:I}]),ref:H,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:M?"all":"none",visibility:G?"visible":"hidden",...w.style,...L},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:N,onMouseMove:O,onMouseLeave:P,onContextMenu:Q,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=F.getState();C&&(!d||!B||e>0)&&eZ({id:a,store:F,nodeRef:H}),b&&b(c,{...x.userNode})},onDoubleClick:R,onKeyDown:E?b=>{if(!cV(b.nativeEvent)&&!o){if(b8.includes(b.key)&&C)eZ({id:a,store:F,unselect:"Escape"===b.key,nodeRef:H});else if(B&&w.selected&&Object.prototype.hasOwnProperty.call(e5,b.key)){b.preventDefault();let{ariaLabelConfig:a}=F.getState();F.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),J({direction:e5[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(o||!H.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=F.getState();!e||cl(new Map([[a,w]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(w.position.x+K.width/2,w.position.y+K.height/2,{zoom:b[2]})}:void 0,role:w.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":o?void 0:`${ef}-${p}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,s.jsx)(e1,{value:a,children:(0,s.jsx)(A,{id:a,data:w.data,type:z,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:w.selected??!1,selectable:C,draggable:B,deletable:w.deletable??!0,isConnectable:D,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:I,dragHandle:w.dragHandle,zIndex:x.z,parentId:w.parentId,...K})})})});let ff=a=>({nodesDraggable:a.nodesDraggable,nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function fg(a){var b;let{nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,onError:g}=eb(ff,d7),h=(b=a.onlyRenderVisibleElements,eb((0,t.useCallback)(a=>b?cl(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),d7)),i=function(){let a=eb(fd),[b]=(0,t.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return(0,t.useEffect)(()=>()=>{b?.disconnect()},[b]),b}();return(0,s.jsx)("div",{className:"react-flow__nodes",style:eR,children:h.map(b=>(0,s.jsx)(fe,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:i,nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,nodeClickDistance:a.nodeClickDistance,onError:g},b))})}fg.displayName="NodeRenderer";let fh=(0,t.memo)(fg),fi={[o.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,s.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[o.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,s.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},fj=({id:a,type:b,color:c,width:d=12.5,height:e=12.5,markerUnits:f="strokeWidth",strokeWidth:g,orient:h="auto-start-reverse"})=>{let i,j=(i=ec(),(0,t.useMemo)(()=>Object.prototype.hasOwnProperty.call(fi,b)?fi[b]:(i.getState().onError?.("009",b6.error009(b)),null),[b]));return j?(0,s.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${e}`,viewBox:"-10 -10 20 20",markerUnits:f,orient:h,refX:"0",refY:"0",children:(0,s.jsx)(j,{color:c,strokeWidth:g})}):null},fk=({defaultColor:a,rfId:b})=>{let c=eb(a=>a.edges),d=eb(a=>a.defaultEdgeOptions),e=(0,t.useMemo)(()=>dh(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return e.length?(0,s.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,s.jsx)("defs",{children:e.map(a=>(0,s.jsx)(fj,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};fk.displayName="MarkerDefinitions";var fl=(0,t.memo)(fk);function fm({x:a,y:b,label:c,labelStyle:d,labelShowBg:e=!0,labelBgStyle:f,labelBgPadding:g=[2,4],labelBgBorderRadius:h=2,children:i,className:j,...k}){let[l,m]=(0,t.useState)({x:1,y:0,width:0,height:0}),n=u(["react-flow__edge-textwrapper",j]),o=(0,t.useRef)(null);return((0,t.useEffect)(()=>{if(o.current){let a=o.current.getBBox();m({x:a.x,y:a.y,width:a.width,height:a.height})}},[c]),c)?(0,s.jsxs)("g",{transform:`translate(${a-l.width/2} ${b-l.height/2})`,className:n,visibility:l.width?"visible":"hidden",...k,children:[e&&(0,s.jsx)("rect",{width:l.width+2*g[0],x:-g[0],y:-g[1],height:l.height+2*g[1],className:"react-flow__edge-textbg",style:f,rx:h,ry:h}),(0,s.jsx)("text",{className:"react-flow__edge-text",y:l.height/2,dy:"0.3em",ref:o,style:d,children:c}),i]}):null}fm.displayName="EdgeText";let fn=(0,t.memo)(fm);function fo({path:a,labelX:b,labelY:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i,interactionWidth:j=20,...k}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("path",{...k,d:a,fill:"none",className:u(["react-flow__edge-path",k.className])}),j?(0,s.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:j,className:"react-flow__edge-interaction"}):null,d&&cC(b)&&cC(c)?(0,s.jsx)(fn,{x:b,y:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i}):null]})}function fp({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===p.Left||a===p.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function fq({sourceX:a,sourceY:b,sourcePosition:c=p.Bottom,targetX:d,targetY:e,targetPosition:f=p.Top}){let[g,h]=fp({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,j]=fp({pos:f,x1:d,y1:e,x2:a,y2:b}),[k,l,m,n]=cZ({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:j});return[`M${a},${b} C${g},${h} ${i},${j} ${d},${e}`,k,l,m,n]}function fr(a){return(0,t.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g,targetPosition:h,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})=>{let[t,u,v]=fq({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h}),w=a.isInternal?void 0:b;return(0,s.jsx)(fo,{id:w,path:t,labelX:u,labelY:v,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})})}let fs=fr({isInternal:!1}),ft=fr({isInternal:!0});function fu(a){return(0,t.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,sourcePosition:n=p.Bottom,targetPosition:o=p.Top,markerEnd:q,markerStart:r,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=da({sourceX:c,sourceY:d,sourcePosition:n,targetX:e,targetY:f,targetPosition:o,borderRadius:t?.borderRadius,offset:t?.offset,stepPosition:t?.stepPosition}),y=a.isInternal?void 0:b;return(0,s.jsx)(fo,{id:y,path:v,labelX:w,labelY:x,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:q,markerStart:r,interactionWidth:u})})}fs.displayName="SimpleBezierEdge",ft.displayName="SimpleBezierEdgeInternal";let fv=fu({isInternal:!1}),fw=fu({isInternal:!0});function fx(a){return(0,t.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,s.jsx)(fv,{...c,id:d,pathOptions:(0,t.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}fv.displayName="SmoothStepEdge",fw.displayName="SmoothStepEdgeInternal";let fy=fx({isInternal:!1}),fz=fx({isInternal:!0});function fA(a){return(0,t.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})=>{let[q,r,t]=c6({sourceX:c,sourceY:d,targetX:e,targetY:f}),u=a.isInternal?void 0:b;return(0,s.jsx)(fo,{id:u,path:q,labelX:r,labelY:t,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})})}fy.displayName="StepEdge",fz.displayName="StepEdgeInternal";let fB=fA({isInternal:!1}),fC=fA({isInternal:!0});function fD(a){return(0,t.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g=p.Bottom,targetPosition:h=p.Top,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:q,markerStart:r,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=c0({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h,curvature:t?.curvature}),y=a.isInternal?void 0:b;return(0,s.jsx)(fo,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:q,markerStart:r,interactionWidth:u})})}fB.displayName="StraightEdge",fC.displayName="StraightEdgeInternal";let fE=fD({isInternal:!1}),fF=fD({isInternal:!0});fE.displayName="BezierEdge",fF.displayName="BezierEdgeInternal";let fG={default:fF,straight:fC,step:fz,smoothstep:fw,simplebezier:ft},fH={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},fI="react-flow__edgeupdater";function fJ({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:e,onMouseEnter:f,onMouseOut:g,type:h}){return(0,s.jsx)("circle",{onMouseDown:e,onMouseEnter:f,onMouseOut:g,className:u([fI,`${fI}-${h}`]),cx:a===p.Left?b-d:a===p.Right?b+d:b,cy:a===p.Top?c-d:a===p.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function fK({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,onReconnect:j,onReconnectStart:k,onReconnectEnd:l,setReconnecting:m,setUpdateHover:n}){let o=ec(),p=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,isValidConnection:f,connectionMode:g,connectionRadius:h,lib:i,onConnectStart:n,onConnectEnd:p,cancelConnection:q,nodeLookup:r,rfId:s,panBy:t,updateConnection:u}=o.getState(),v="target"===b.type;dI.onPointerDown(a.nativeEvent,{autoPanOnConnect:d,connectionMode:g,connectionRadius:h,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:r,isTarget:v,edgeUpdaterType:b.type,lib:i,flowId:s,cancelConnection:q,panBy:t,isValidConnection:f,onConnect:a=>j?.(c,a),onConnectStart:(d,e)=>{m(!0),k?.(a,c,b.type),n?.(d,e)},onConnectEnd:p,onReconnectEnd:(a,d)=>{m(!1),l?.(a,c,b.type,d)},updateConnection:u,getTransform:()=>o.getState().transform,getFromHandle:()=>o.getState().connection.fromHandle,dragThreshold:o.getState().connectionDragThreshold,handleDomNode:a.currentTarget})},q=()=>n(!0),r=()=>n(!1);return(0,s.jsxs)(s.Fragment,{children:[(!0===a||"source"===a)&&(0,s.jsx)(fJ,{position:h,centerX:d,centerY:e,radius:b,onMouseDown:a=>p(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:q,onMouseOut:r,type:"source"}),(!0===a||"target"===a)&&(0,s.jsx)(fJ,{position:i,centerX:f,centerY:g,radius:b,onMouseDown:a=>p(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:q,onMouseOut:r,type:"target"})]})}var fL=(0,t.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:e,onDoubleClick:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,reconnectRadius:k,onReconnect:l,onReconnectStart:m,onReconnectEnd:n,rfId:o,edgeTypes:p,noPanClassName:q,onError:r,disableKeyboardA11y:v}){let w=eb(b=>b.edgeLookup.get(a)),x=eb(a=>a.defaultEdgeOptions),y=(w=x?{...x,...w}:w).type||"default",z=p?.[y]||fG[y];void 0===z&&(r?.("011",b6.error011(y)),y="default",z=p?.default||fG.default);let A=!!(w.focusable||b&&void 0===w.focusable),B=void 0!==l&&(w.reconnectable||c&&void 0===w.reconnectable),C=!!(w.selectable||d&&void 0===w.selectable),D=(0,t.useRef)(null),[E,F]=(0,t.useState)(!1),[G,H]=(0,t.useState)(!1),I=ec(),{zIndex:J,sourceX:K,sourceY:L,targetX:M,targetY:N,sourcePosition:O,targetPosition:P}=eb((0,t.useCallback)(b=>{let c=b.nodeLookup.get(w.source),d=b.nodeLookup.get(w.target);if(!c||!d)return{zIndex:w.zIndex,...fH};let e=dc({id:a,sourceNode:c,targetNode:d,sourceHandle:w.sourceHandle||null,targetHandle:w.targetHandle||null,connectionMode:b.connectionMode,onError:r});return{zIndex:c2({selected:w.selected,zIndex:w.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode}),...e||fH}},[w.source,w.target,w.sourceHandle,w.targetHandle,w.selected,w.zIndex]),d7),Q=(0,t.useMemo)(()=>w.markerStart?`url('#${dg(w.markerStart,o)}')`:void 0,[w.markerStart,o]),R=(0,t.useMemo)(()=>w.markerEnd?`url('#${dg(w.markerEnd,o)}')`:void 0,[w.markerEnd,o]);if(w.hidden||null===K||null===L||null===M||null===N)return null;let S=f?a=>{f(a,{...w})}:void 0,T=g?a=>{g(a,{...w})}:void 0,U=h?a=>{h(a,{...w})}:void 0,V=i?a=>{i(a,{...w})}:void 0,W=j?a=>{j(a,{...w})}:void 0;return(0,s.jsx)("svg",{style:{zIndex:J},children:(0,s.jsxs)("g",{className:u(["react-flow__edge",`react-flow__edge-${y}`,w.className,q,{selected:w.selected,animated:w.animated,inactive:!C&&!e,updating:E,selectable:C}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:f}=I.getState();C&&(I.setState({nodesSelectionActive:!1}),w.selected&&f?(d({nodes:[],edges:[w]}),D.current?.blur()):c([a])),e&&e(b,w)},onDoubleClick:S,onContextMenu:T,onMouseEnter:U,onMouseMove:V,onMouseLeave:W,onKeyDown:A?b=>{if(!v&&b8.includes(b.key)&&C){let{unselectNodesAndEdges:c,addSelectedEdges:d}=I.getState();"Escape"===b.key?(D.current?.blur(),c({edges:[w]})):d([a])}}:void 0,tabIndex:A?0:void 0,role:w.ariaRole??(A?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===w.ariaLabel?void 0:w.ariaLabel||`Edge from ${w.source} to ${w.target}`,"aria-describedby":A?`${eg}-${o}`:void 0,ref:D,...w.domAttributes,children:[!G&&(0,s.jsx)(z,{id:a,source:w.source,target:w.target,type:w.type,selected:w.selected,animated:w.animated,selectable:C,deletable:w.deletable??!0,label:w.label,labelStyle:w.labelStyle,labelShowBg:w.labelShowBg,labelBgStyle:w.labelBgStyle,labelBgPadding:w.labelBgPadding,labelBgBorderRadius:w.labelBgBorderRadius,sourceX:K,sourceY:L,targetX:M,targetY:N,sourcePosition:O,targetPosition:P,data:w.data,style:w.style,sourceHandleId:w.sourceHandle,targetHandleId:w.targetHandle,markerStart:Q,markerEnd:R,pathOptions:"pathOptions"in w?w.pathOptions:void 0,interactionWidth:w.interactionWidth}),B&&(0,s.jsx)(fK,{edge:w,isReconnectable:B,reconnectRadius:k,onReconnect:l,onReconnectStart:m,onReconnectEnd:n,sourceX:K,sourceY:L,targetX:M,targetY:N,sourcePosition:O,targetPosition:P,setUpdateHover:F,setReconnecting:H})]})})});let fM=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function fN({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:e,onReconnect:f,onEdgeContextMenu:g,onEdgeMouseEnter:h,onEdgeMouseMove:i,onEdgeMouseLeave:j,onEdgeClick:k,reconnectRadius:l,onEdgeDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,disableKeyboardA11y:p}){let{edgesFocusable:q,edgesReconnectable:r,elementsSelectable:u,onError:v}=eb(fM,d7),w=eb((0,t.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&c3({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),d7);return(0,s.jsxs)("div",{className:"react-flow__edges",children:[(0,s.jsx)(fl,{defaultColor:a,rfId:c}),w.map(a=>(0,s.jsx)(fL,{id:a,edgesFocusable:q,edgesReconnectable:r,elementsSelectable:u,noPanClassName:e,onReconnect:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,onClick:k,reconnectRadius:l,onDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,rfId:c,onError:v,edgeTypes:d,disableKeyboardA11y:p},a))]})}fN.displayName="EdgeRenderer";let fO=(0,t.memo)(fN),fP=a=>`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]})`;function fQ({children:a}){let b=eb(fP);return(0,s.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:b},children:a})}let fR=a=>a.panZoom?.syncViewport;function fS(a){return a.connection.inProgress?{...a.connection,to:cF(a.connection.to,a.transform)}:{...a.connection}}let fT=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function fU({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:e,width:f,height:g,isValid:h,inProgress:i}=eb(fT,d7);return f&&e&&i?(0,s.jsx)("svg",{style:a,width:f,height:g,className:"react-flow__connectionline react-flow__container",children:(0,s.jsx)("g",{className:u(["react-flow__connection",ce(h)]),children:(0,s.jsx)(fV,{style:b,type:c,CustomComponent:d,isValid:h})})}):null}let fV=({style:a,type:b=n.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:e,from:f,fromNode:g,fromHandle:h,fromPosition:i,to:j,toNode:k,toHandle:l,toPosition:m,pointer:o}=eb(fS,d7);if(!e)return;if(c)return(0,s.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:g,fromHandle:h,fromX:f.x,fromY:f.y,toX:j.x,toY:j.y,fromPosition:i,toPosition:m,connectionStatus:ce(d),toNode:k,toHandle:l,pointer:o});let p="",q={sourceX:f.x,sourceY:f.y,sourcePosition:i,targetX:j.x,targetY:j.y,targetPosition:m};switch(b){case n.Bezier:[p]=c0(q);break;case n.SimpleBezier:[p]=fq(q);break;case n.Step:[p]=da({...q,borderRadius:0});break;case n.SmoothStep:[p]=da(q);break;default:[p]=c6(q)}return(0,s.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:a})};fV.displayName="ConnectionLine";let fW={};function fX(a=fW){(0,t.useRef)(a),ec(),(0,t.useEffect)(()=>{},[a])}function fY({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:e,onNodeDoubleClick:f,onEdgeDoubleClick:g,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,onSelectionContextMenu:l,onSelectionStart:m,onSelectionEnd:n,connectionLineType:o,connectionLineStyle:p,connectionLineComponent:q,connectionLineContainerStyle:r,selectionKeyCode:u,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,deleteKeyCode:A,onlyRenderVisibleElements:B,elementsSelectable:C,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,preventScrolling:H,defaultMarkerColor:I,zoomOnScroll:J,zoomOnPinch:K,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:O,panOnDrag:P,onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:S,onPaneMouseLeave:T,onPaneScroll:U,onPaneContextMenu:V,paneClickDistance:W,nodeClickDistance:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:$,onEdgeMouseLeave:_,reconnectRadius:aa,onReconnect:ab,onReconnectStart:ac,onReconnectEnd:ad,noDragClassName:ae,noWheelClassName:af,noPanClassName:ag,disableKeyboardA11y:ah,nodeExtent:ai,rfId:aj,viewport:ak,onViewportChange:al}){let am,an,ao,ap;return fX(a),fX(b),ec(),(0,t.useRef)(!1),(0,t.useEffect)(()=>{},[]),am=eO(),an=(0,t.useRef)(!1),(0,t.useEffect)(()=>{!an.current&&am.viewportInitialized&&c&&(setTimeout(()=>c(am),1),an.current=!0)},[c,am.viewportInitialized]),ao=eb(fR),ap=ec(),(0,t.useEffect)(()=>{ak&&(ao?.(ak),ap.setState({transform:[ak.x,ak.y,ak.zoom]}))},[ak,ao]),(0,s.jsx)(fc,{onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:S,onPaneMouseLeave:T,onPaneContextMenu:V,onPaneScroll:U,paneClickDistance:W,deleteKeyCode:A,selectionKeyCode:u,selectionOnDrag:v,selectionMode:w,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,elementsSelectable:C,zoomOnScroll:J,zoomOnPinch:K,zoomOnDoubleClick:O,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,panOnDrag:P,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,onSelectionContextMenu:l,preventScrolling:H,noDragClassName:ae,noWheelClassName:af,noPanClassName:ag,disableKeyboardA11y:ah,onViewportChange:al,isControlledViewport:!!ak,children:(0,s.jsxs)(fQ,{children:[(0,s.jsx)(fO,{edgeTypes:b,onEdgeClick:e,onEdgeDoubleClick:g,onReconnect:ab,onReconnectStart:ac,onReconnectEnd:ad,onlyRenderVisibleElements:B,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:$,onEdgeMouseLeave:_,reconnectRadius:aa,defaultMarkerColor:I,noPanClassName:ag,disableKeyboardA11y:ah,rfId:aj}),(0,s.jsx)(fU,{style:p,type:o,component:q,containerStyle:r}),(0,s.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,s.jsx)(fh,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,nodeClickDistance:X,onlyRenderVisibleElements:B,noPanClassName:ag,noDragClassName:ae,disableKeyboardA11y:ah,nodeExtent:ai,rfId:aj}),(0,s.jsx)("div",{className:"react-flow__viewport-portal"})]})})}fY.displayName="GraphView";let fZ=(0,t.memo)(fY),f$=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i=.5,maxZoom:j=2,nodeOrigin:l,nodeExtent:m,zIndexMode:n="basic"}={})=>{let o=new Map,p=new Map,q=new Map,r=new Map,s=d??b??[],t=c??a??[],u=l??[0,0],v=m??b7;dz(q,r,s);let w=ds(t,o,p,{nodeOrigin:u,nodeExtent:v,zIndexMode:n}),x=[0,0,1];if(g&&e&&f){let{x:a,y:b,zoom:c}=cI(ck(o,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),e,f,i,j,h?.padding??.1);x=[a,b,c]}return{rfId:"1",width:e??0,height:f??0,transform:x,nodes:t,nodesInitialized:w,nodeLookup:o,parentLookup:p,edges:s,edgeLookup:r,connectionLookup:q,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:i,maxZoom:j,translateExtent:b7,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:k.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:u,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:g??!1,fitViewOptions:h,fitViewResolver:null,connection:{...ca},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:cD,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:b9,zIndexMode:n,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function f_({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:d,initialWidth:e,initialHeight:f,initialMinZoom:g,initialMaxZoom:h,initialFitViewOptions:i,fitView:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m,children:n}){let[o]=(0,t.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m})=>{let n,o;return n=(n,o)=>{async function q(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=o();b&&(await cm({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),n({fitViewResolver:null}))}return{...f$({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,defaultNodes:c,defaultEdges:d,zIndexMode:m}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,elevateNodesOnSelect:e,fitViewQueued:f,zIndexMode:g}=o(),h=ds(a,b,c,{nodeOrigin:d,nodeExtent:l,elevateNodesOnSelect:e,checkEquality:!0,zIndexMode:g});f&&h?(q(),n({nodes:a,nodesInitialized:h,fitViewQueued:!1,fitViewOptions:void 0})):n({nodes:a,nodesInitialized:h})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=o();dz(b,c,a),n({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=o();b(a),n({hasDefaultNodes:!0})}if(b){let{setEdges:a}=o();a(b),n({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=o(),{changes:k,updatedInternals:l}=dw(a,c,d,e,f,g,j);l&&(dq(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(q(),n({fitViewQueued:!1,fitViewOptions:void 0})):n({}),k?.length>0&&(h&&console.log("React Flow: trigger node changes",k),b?.(k)))},updateNodePositions:(a,b=!1)=>{let c=[],d=[],{nodeLookup:e,triggerNodeChanges:f,connection:g,updateConnection:h,onNodesChangeMiddlewareMap:i}=o();for(let[f,i]of a){let a=e.get(f),j=!!(a?.expandParent&&a?.parentId&&i?.position),k={id:f,type:"position",position:j?{x:Math.max(0,i.position.x),y:Math.max(0,i.position.y)}:i.position,dragging:b};if(a&&g.inProgress&&g.fromNode.id===a.id){let b=de(a,g.fromHandle,p.Left,!0);h({...g,from:b})}j&&a.parentId&&c.push({id:f,parentId:a.parentId,rect:{...i.internals.positionAbsolute,width:i.measured.width??0,height:i.measured.height??0}}),d.push(k)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=o(),f=dv(c,e,a,b);d.push(...f)}for(let a of i.values())d=a(d);f(d)},triggerNodeChanges:a=>{let{onNodesChange:b,setNodes:c,nodes:d,hasDefaultNodes:e,debug:f}=o();a?.length&&(e&&c(eD(a,d)),f&&console.log("React Flow: trigger node changes",a),b?.(a))},triggerEdgeChanges:a=>{let{onEdgesChange:b,setEdges:c,edges:d,hasDefaultEdges:e,debug:f}=o();a?.length&&(e&&c(eD(a,d)),f&&console.log("React Flow: trigger edge changes",a),b?.(a))},addSelectedNodes:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=o();b?e(a.map(a=>eE(a,!0))):(e(eF(d,new Set([...a]),!0)),f(eF(c)))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=o();b?f(a.map(a=>eE(a,!0))):(f(eF(c,new Set([...a]))),e(eF(d,new Set,!0)))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=o(),h=(a||d).map(a=>{let b=e.get(a.id);return b&&(b.selected=!1),eE(a.id,!1)}),i=(b||c).map(a=>eE(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=o();b?.setScaleExtent([a,c]),n({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=o();b?.setScaleExtent([c,a]),n({maxZoom:a})},setTranslateExtent:a=>{o().panZoom?.setTranslateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=o();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,eE(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,eE(b.id,!1)]:a,[]);c(f),d(g)},setNodeExtent:a=>{let{nodes:b,nodeLookup:c,parentLookup:d,nodeOrigin:e,elevateNodesOnSelect:f,nodeExtent:g,zIndexMode:h}=o();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(ds(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),n({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=o();return dx({delta:a,panZoom:e,transform:b,translateExtent:f,width:c,height:d})},setCenter:async(a,b,c)=>{let{width:d,height:e,maxZoom:f,panZoom:g}=o();if(!g)return Promise.resolve(!1);let h=void 0!==c?.zoom?c.zoom:f;return await g.setViewport({x:d/2-a*h,y:e/2-b*h,zoom:h},{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{n({connection:{...ca}})},updateConnection:a=>{n({connection:a})},reset:()=>n({...f$()})}},o=Object.is,n?d6(n,o):d6})({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:j,minZoom:g,maxZoom:h,fitViewOptions:i,nodeOrigin:k,nodeExtent:l,zIndexMode:m}));return(0,s.jsx)(d9,{value:o,children:(0,s.jsx)(eM,{children:n})})}function f0({children:a,nodes:b,edges:c,defaultNodes:d,defaultEdges:e,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j,maxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n}){return(0,t.useContext)(d8)?(0,s.jsx)(s.Fragment,{children:a}):(0,s.jsx)(f_,{initialNodes:b,initialEdges:c,defaultNodes:d,defaultEdges:e,initialWidth:f,initialHeight:g,fitView:h,initialFitViewOptions:i,initialMinZoom:j,initialMaxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n,children:a})}let f1={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var f2=eI(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,className:e,nodeTypes:f,edgeTypes:g,onNodeClick:h,onEdgeClick:i,onInit:j,onMove:k,onMoveStart:o,onMoveEnd:p,onConnect:q,onConnectStart:r,onConnectEnd:v,onClickConnectStart:w,onClickConnectEnd:x,onNodeMouseEnter:y,onNodeMouseMove:z,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:C,onNodeDragStart:D,onNodeDrag:E,onNodeDragStop:F,onNodesDelete:G,onEdgesDelete:H,onDelete:I,onSelectionChange:J,onSelectionDragStart:K,onSelectionDrag:L,onSelectionDragStop:M,onSelectionContextMenu:N,onSelectionStart:O,onSelectionEnd:P,onBeforeDelete:Q,connectionMode:R,connectionLineType:S=n.Bezier,connectionLineStyle:T,connectionLineComponent:U,connectionLineContainerStyle:V,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:Z=m.Full,panActivationKeyCode:$="Space",multiSelectionKeyCode:_=cJ()?"Meta":"Control",zoomActivationKeyCode:aa=cJ()?"Meta":"Control",snapToGrid:ab,snapGrid:ac,onlyRenderVisibleElements:ad=!1,selectNodesOnDrag:ae,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,nodeOrigin:aj=et,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am=!0,defaultViewport:an=eu,minZoom:ao=.5,maxZoom:ap=2,translateExtent:aq=b7,preventScrolling:ar=!0,nodeExtent:as,defaultMarkerColor:at="#b1b1b7",zoomOnScroll:au=!0,zoomOnPinch:av=!0,panOnScroll:aw=!1,panOnScrollSpeed:ax=.5,panOnScrollMode:ay=l.Free,zoomOnDoubleClick:az=!0,panOnDrag:aA=!0,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH=1,nodeClickDistance:aI=0,children:aJ,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS=10,onNodesChange:aT,onEdgesChange:aU,noDragClassName:aV="nodrag",noWheelClassName:aW="nowheel",noPanClassName:aX="nopan",fitView:aY,fitViewOptions:aZ,connectOnClick:a$,attributionPosition:a_,proOptions:a0,defaultEdgeOptions:a1,elevateNodesOnSelect:a2=!0,elevateEdgesOnSelect:a3=!1,disableKeyboardA11y:a4=!1,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanSpeed:a7,connectionRadius:a8,isValidConnection:a9,onError:ba,style:bb,id:bc,nodeDragThreshold:bd,connectionDragThreshold:be,viewport:bf,onViewportChange:bg,width:bh,height:bi,colorMode:bj="light",debug:bk,onScroll:bl,ariaLabelConfig:bm,zIndexMode:bn="basic",...bo},bp){let bq=bc||"1",br=function(a){let[b,c]=(0,t.useState)("system"===a?null:a);return(0,t.useEffect)(()=>"system"!==a?void c(a):(c("light"),()=>{}),[a]),null!==b?b:"light"}(bj),bs=(0,t.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bl?.(a)},[bl]);return(0,s.jsx)("div",{"data-testid":"rf__wrapper",...bo,onScroll:bs,style:{...bb,...f1},ref:bp,className:u(["react-flow",e,br]),id:bc,role:"application",children:(0,s.jsxs)(f0,{nodes:a,edges:b,width:bh,height:bi,fitView:aY,fitViewOptions:aZ,minZoom:ao,maxZoom:ap,nodeOrigin:aj,nodeExtent:as,zIndexMode:bn,children:[(0,s.jsx)(fZ,{onInit:j,onNodeClick:h,onEdgeClick:i,onNodeMouseEnter:y,onNodeMouseMove:z,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:C,nodeTypes:f,edgeTypes:g,connectionLineType:S,connectionLineStyle:T,connectionLineComponent:U,connectionLineContainerStyle:V,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:Z,deleteKeyCode:W,multiSelectionKeyCode:_,panActivationKeyCode:$,zoomActivationKeyCode:aa,onlyRenderVisibleElements:ad,defaultViewport:an,translateExtent:aq,minZoom:ao,maxZoom:ap,preventScrolling:ar,zoomOnScroll:au,zoomOnPinch:av,zoomOnDoubleClick:az,panOnScroll:aw,panOnScrollSpeed:ax,panOnScrollMode:ay,panOnDrag:aA,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH,nodeClickDistance:aI,onSelectionContextMenu:N,onSelectionStart:O,onSelectionEnd:P,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS,defaultMarkerColor:at,noDragClassName:aV,noWheelClassName:aW,noPanClassName:aX,rfId:bq,disableKeyboardA11y:a4,nodeExtent:as,viewport:bf,onViewportChange:bg}),(0,s.jsx)(ey,{nodes:a,edges:b,defaultNodes:c,defaultEdges:d,onConnect:q,onConnectStart:r,onConnectEnd:v,onClickConnectStart:w,onClickConnectEnd:x,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am,elevateNodesOnSelect:a2,elevateEdgesOnSelect:a3,minZoom:ao,maxZoom:ap,nodeExtent:as,onNodesChange:aT,onEdgesChange:aU,snapToGrid:ab,snapGrid:ac,connectionMode:R,translateExtent:aq,connectOnClick:a$,defaultEdgeOptions:a1,fitView:aY,fitViewOptions:aZ,onNodesDelete:G,onEdgesDelete:H,onDelete:I,onNodeDragStart:D,onNodeDrag:E,onNodeDragStop:F,onSelectionDrag:L,onSelectionDragStart:K,onSelectionDragStop:M,onMove:k,onMoveStart:o,onMoveEnd:p,noPanClassName:aX,nodeOrigin:aj,rfId:bq,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanSpeed:a7,onError:ba,connectionRadius:a8,isValidConnection:a9,selectNodesOnDrag:ae,nodeDragThreshold:bd,connectionDragThreshold:be,onBeforeDelete:Q,debug:bk,ariaLabelConfig:bm,zIndexMode:bn}),(0,s.jsx)(es,{onSelectionChange:J}),aJ,(0,s.jsx)(em,{proOptions:a0,position:a_}),(0,s.jsx)(ek,{rfId:bq,disableKeyboardA11y:a4})]})})});function f3({dimensions:a,lineWidth:b,variant:c,className:d}){return(0,s.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:u(["react-flow__background-pattern",c,d])})}function f4({radius:a,className:b}){return(0,s.jsx)("circle",{cx:a,cy:a,r:a,className:u(["react-flow__background-pattern","dots",b])})}b6.error014(),(i=r||(r={})).Lines="lines",i.Dots="dots",i.Cross="cross";let f5={[r.Dots]:1,[r.Lines]:1,[r.Cross]:6},f6=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function f7({id:a,variant:b=r.Dots,gap:c=20,size:d,lineWidth:e=1,offset:f=0,color:g,bgColor:h,style:i,className:j,patternClassName:k}){let l=(0,t.useRef)(null),{transform:m,patternId:n}=eb(f6,d7),o=d||f5[b],p=b===r.Dots,q=b===r.Cross,v=Array.isArray(c)?c:[c,c],w=[v[0]*m[2]||1,v[1]*m[2]||1],x=o*m[2],y=Array.isArray(f)?f:[f,f],z=q?[x,x]:w,A=[y[0]*m[2]||1+z[0]/2,y[1]*m[2]||1+z[1]/2],B=`${n}${a||""}`;return(0,s.jsxs)("svg",{className:u(["react-flow__background",j]),style:{...i,...eR,"--xy-background-color-props":h,"--xy-background-pattern-color-props":g},ref:l,"data-testid":"rf__background",children:[(0,s.jsx)("pattern",{id:B,x:m[0]%w[0],y:m[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:p?(0,s.jsx)(f4,{radius:x/2,className:k}):(0,s.jsx)(f3,{dimensions:z,lineWidth:e,variant:b,className:k})}),(0,s.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${B})`})]})}f7.displayName="Background";let f8=(0,t.memo)(f7);function f9(){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,s.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function ga(){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,s.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function gb(){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,s.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function gc(){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,s.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function gd(){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,s.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ge({children:a,className:b,...c}){return(0,s.jsx)("button",{type:"button",className:u(["react-flow__controls-button",b]),...c,children:a})}let gf=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function gg({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:d=!0,fitViewOptions:e,onZoomIn:f,onZoomOut:g,onFitView:h,onInteractiveChange:i,className:j,children:k,position:l="bottom-left",orientation:m="vertical","aria-label":n}){let o=ec(),{isInteractive:p,minZoomReached:q,maxZoomReached:r,ariaLabelConfig:t}=eb(gf,d7),{zoomIn:v,zoomOut:w,fitView:x}=eO();return(0,s.jsxs)(el,{className:u(["react-flow__controls","horizontal"===m?"horizontal":"vertical",j]),position:l,style:a,"data-testid":"rf__controls","aria-label":n??t["controls.ariaLabel"],children:[b&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ge,{onClick:()=>{v(),f?.()},className:"react-flow__controls-zoomin",title:t["controls.zoomIn.ariaLabel"],"aria-label":t["controls.zoomIn.ariaLabel"],disabled:r,children:(0,s.jsx)(f9,{})}),(0,s.jsx)(ge,{onClick:()=>{w(),g?.()},className:"react-flow__controls-zoomout",title:t["controls.zoomOut.ariaLabel"],"aria-label":t["controls.zoomOut.ariaLabel"],disabled:q,children:(0,s.jsx)(ga,{})})]}),c&&(0,s.jsx)(ge,{className:"react-flow__controls-fitview",onClick:()=>{x(e),h?.()},title:t["controls.fitView.ariaLabel"],"aria-label":t["controls.fitView.ariaLabel"],children:(0,s.jsx)(gb,{})}),d&&(0,s.jsx)(ge,{className:"react-flow__controls-interactive",onClick:()=>{o.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),i?.(!p)},title:t["controls.interactive.ariaLabel"],"aria-label":t["controls.interactive.ariaLabel"],children:p?(0,s.jsx)(gd,{}):(0,s.jsx)(gc,{})}),k]})}gg.displayName="Controls";let gh=(0,t.memo)(gg),gi=(0,t.memo)(function({id:a,x:b,y:c,width:d,height:e,style:f,color:g,strokeColor:h,strokeWidth:i,className:j,borderRadius:k,shapeRendering:l,selected:m,onClick:n}){let{background:o,backgroundColor:p}=f||{};return(0,s.jsx)("rect",{className:u(["react-flow__minimap-node",{selected:m},j]),x:b,y:c,rx:k,ry:k,width:d,height:e,style:{fill:g||o||p,stroke:h,strokeWidth:i},shapeRendering:l,onClick:n?b=>n(b,a):void 0})}),gj=a=>a.nodes.map(a=>a.id),gk=a=>a instanceof Function?a:()=>a,gl=(0,t.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:e,nodeStrokeWidth:f,shapeRendering:g,NodeComponent:h,onClick:i}){let{node:j,x:k,y:l,width:m,height:n}=eb(b=>{let{internals:c}=b.nodeLookup.get(a),d=c.userNode,{x:e,y:f}=c.positionAbsolute,{width:g,height:h}=cL(d);return{node:d,x:e,y:f,width:g,height:h}},d7);return j&&!j.hidden&&cM(j)?(0,s.jsx)(h,{x:k,y:l,width:m,height:n,style:j.style,selected:!!j.selected,className:d(j),color:b(j),borderRadius:e,strokeColor:c(j),strokeWidth:f,shapeRendering:g,onClick:i,id:j.id}):null});var gm=(0,t.memo)(function({nodeStrokeColor:a,nodeColor:b,nodeClassName:c="",nodeBorderRadius:d=5,nodeStrokeWidth:e,nodeComponent:f=gi,onClick:g}){let h=eb(gj,d7),i=gk(b),j=gk(a),k=gk(c);return(0,s.jsx)(s.Fragment,{children:h.map(a=>(0,s.jsx)(gl,{id:a,nodeColorFunc:i,nodeStrokeColorFunc:j,nodeClassNameFunc:k,nodeBorderRadius:d,nodeStrokeWidth:e,NodeComponent:f,onClick:g,shapeRendering:"crispEdges"},a))})});let gn=a=>!a.hidden,go=a=>{let b={x:-a.transform[0]/a.transform[2],y:-a.transform[1]/a.transform[2],width:a.width/a.transform[2],height:a.height/a.transform[2]};return{viewBB:b,boundingRect:a.nodeLookup.size>0?cz(ck(a.nodeLookup,{filter:gn}),b):b,rfId:a.rfId,panZoom:a.panZoom,translateExtent:a.translateExtent,flowWidth:a.width,flowHeight:a.height,ariaLabelConfig:a.ariaLabelConfig}};function gp({style:a,className:b,nodeStrokeColor:c,nodeColor:d,nodeClassName:e="",nodeBorderRadius:f=5,nodeStrokeWidth:g,nodeComponent:h,bgColor:i,maskColor:j,maskStrokeColor:k,maskStrokeWidth:l,position:m="bottom-right",onClick:n,onNodeClick:o,pannable:p=!1,zoomable:q=!1,ariaLabel:r,inversePan:v,zoomStep:w=1,offsetScale:x=5}){let y=ec(),z=(0,t.useRef)(null),{boundingRect:A,viewBB:B,rfId:C,panZoom:D,translateExtent:E,flowWidth:F,flowHeight:G,ariaLabelConfig:H}=eb(go,d7),I=a?.width??200,J=a?.height??150,K=Math.max(A.width/I,A.height/J),L=K*I,M=K*J,N=x*K,O=A.x-(L-A.width)/2-N,P=A.y-(M-A.height)/2-N,Q=L+2*N,R=M+2*N,S=`react-flow__minimap-desc-${C}`,T=(0,t.useRef)(0),U=(0,t.useRef)();T.current=K,(0,t.useEffect)(()=>{if(z.current&&D)return U.current=dJ({domNode:z.current,panZoom:D,getTransform:()=>y.getState().transform,getViewScale:()=>T.current}),()=>{U.current?.destroy()}},[D]),(0,t.useEffect)(()=>{U.current?.update({translateExtent:E,width:F,height:G,inversePan:v,pannable:p,zoomStep:w,zoomable:q})},[p,q,v,w,E,F,G]);let V=n?a=>{let[b,c]=U.current?.pointer(a)||[0,0];n(a,{x:b,y:c})}:void 0,W=o?(0,t.useCallback)((a,b)=>{o(a,y.getState().nodeLookup.get(b).internals.userNode)},[]):void 0,X=r??H["minimap.ariaLabel"];return(0,s.jsx)(el,{position:m,style:{...a,"--xy-minimap-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof j?j:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof k?k:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof l?l*K:void 0,"--xy-minimap-node-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof g?g:void 0},className:u(["react-flow__minimap",b]),"data-testid":"rf__minimap",children:(0,s.jsxs)("svg",{width:I,height:J,viewBox:`${O} ${P} ${Q} ${R}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":S,ref:z,onClick:V,children:[X&&(0,s.jsx)("title",{id:S,children:X}),(0,s.jsx)(gm,{onClick:W,nodeColor:d,nodeStrokeColor:c,nodeBorderRadius:f,nodeClassName:e,nodeStrokeWidth:g,nodeComponent:h}),(0,s.jsx)("path",{className:"react-flow__minimap-mask",d:`M${O-N},${P-N}h${Q+2*N}v${R+2*N}h${-Q-2*N}z
|
|
2
|
-
M${B.x},${B.y}h${B.width}v${B.height}h${-B.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}gp.displayName="MiniMap",(0,t.memo)(gp);let gq={[q.Line]:"right",[q.Handle]:"bottom-right"};(0,t.memo)(function({nodeId:a,position:b,variant:c=q.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:p,onResize:r,onResizeEnd:v}){let w,x=e2(),y="string"==typeof a?a:x,z=ec(),A=(0,t.useRef)(null),B=c===q.Handle,C=eb((0,t.useCallback)((w=B&&n,a=>w?`${Math.max(1/a.transform[2],1)}`:void 0),[B,n]),d7),D=(0,t.useRef)(null),E=b??gq[c];(0,t.useEffect)(()=>{if(A.current&&y)return D.current||(D.current=d$({domNode:A.current,nodeId:y,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=z.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=z.getState(),g=[],h={x:a.x,y:a.y},i=d.get(y);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=dv([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...cN({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:y,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:y,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{z.getState().triggerNodeChanges([{id:y,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),D.current.update({controlPosition:E,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:p,onResize:r,onResizeEnd:v,shouldResize:o}),()=>{D.current?.destroy()}},[E,h,i,j,k,l,p,r,v,o]);let F=E.split("-");return(0,s.jsx)("div",{className:u(["react-flow__resize-control","nodrag",...F,c,d]),ref:A,style:{...e,scale:C,...g&&{[B?"backgroundColor":"borderColor"]:g}},children:f})}),a.s(["Background",()=>f8,"BackgroundVariant",()=>r,"BaseEdge",()=>fo,"ControlButton",()=>ge,"Controls",()=>gh,"Handle",()=>e4,"Panel",()=>el,"ReactFlow",()=>f2,"ReactFlowProvider",()=>f_,"useReactFlow",()=>eO],84945)},43707,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)(null);function e({children:a}){let[e,f]=(0,c.useState)(new Map),g=(0,c.useRef)(e);g.current=e;let h=(0,c.useCallback)(async()=>{if(!document.hidden)try{let a=await fetch("/api/sessions-batch");if(!a.ok)return;let b=await a.json(),c=new Map;for(let[a,d]of Object.entries(b.sessionsByPath))c.set(a,d);f(c)}catch{}},[]);(0,c.useEffect)(()=>{h();let a=setInterval(()=>void h(),3e4);return()=>clearInterval(a)},[h]);let i=(0,c.useCallback)(a=>g.current.get(a)??[],[e]),j=(0,c.useCallback)(a=>{let b=g.current.get(a);if(!b)return!1;let c=Date.now();return b.some(a=>a.lastMessageAt&&c-new Date(a.lastMessageAt).getTime()<3e5)},[e]),k=(0,c.useMemo)(()=>({getSessionsForPath:i,hasActiveSessions:j}),[i,j]);return(0,b.jsx)(d.Provider,{value:k,children:a})}function f(){let a=(0,c.useContext)(d);return a||{getSessionsForPath:()=>[],hasActiveSessions:()=>!1}}a.s(["SessionsProvider",()=>e,"useSessionsContext",()=>f])},83886,a=>{"use strict";let b=(0,a.i(25700).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",()=>b],83886)},18615,a=>{"use strict";let b=(0,a.i(25700).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",()=>b],18615)},16605,a=>{"use strict";let b=(0,a.i(25700).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",()=>b],16605)},69428,a=>{"use strict";let b=(0,a.i(25700).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);a.s(["ClipboardList",()=>b],69428)},33511,1585,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);a.s(["Archive",()=>c],33511);let d=(0,b.default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);a.s(["ArchiveRestore",()=>d],1585)},77569,65310,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(88064),e=a.i(3703),f=a.i(10606),g=a.i(96853),g=g,h=a.i(6175),i=a.i(7420),j=a.i(59653),k=a.i(17329),l=a.i(64005),m=a.i(74432),n=a.i(14272),o=a.i(66873),p="Checkbox",[q,r]=(0,i.createContextScope)(p),[s,t]=q(p);function u(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:l,required:m,value:n="on",internal_do_not_use_render:o}=a,[q,r]=(0,k.useControllableState)({prop:e,defaultProp:g??!1,onChange:l,caller:p}),[t,u]=c.useState(null),[v,w]=c.useState(null),x=c.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:q,disabled:h,setChecked:r,control:t,setControl:u,name:j,form:i,value:n,hasConsumerStoppedPropagationRef:x,required:m,defaultChecked:!C(g)&&g,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,b.jsx)(s,{scope:d,...z,children:"function"==typeof o?o(z):f})}var v="CheckboxTrigger",w=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:i,value:k,disabled:l,checked:m,required:n,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:r,isFormControl:s,bubbleInput:u}=t(v,a),w=(0,h.useComposedRefs)(g,p),x=c.useRef(m);return c.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,b.jsx)(o.Primitive.button,{type:"button",role:"checkbox","aria-checked":C(m)?"mixed":m,"aria-required":n,"data-state":D(m),"data-disabled":l?"":void 0,disabled:l,value:k,...f,ref:w,onKeyDown:(0,j.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,j.composeEventHandlers)(e,a=>{q(a=>!!C(a)||!a),u&&s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})})});w.displayName=v;var x=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(u,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(B,{__scopeCheckbox:d})]})})});x.displayName=p;var y="CheckboxIndicator",z=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=t(y,d);return(0,b.jsx)(n.Presence,{present:e||C(g.checked)||!0===g.checked,children:(0,b.jsx)(o.Primitive.span,{"data-state":D(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});z.displayName=y;var A="CheckboxBubbleInput",B=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:i,defaultChecked:j,required:k,disabled:n,name:p,value:q,form:r,bubbleInput:s,setBubbleInput:u}=t(A,a),v=(0,h.useComposedRefs)(e,u),w=(0,l.usePrevious)(i),x=(0,m.useSize)(f);c.useEffect(()=>{if(!s)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==i&&a){let c=new Event("click",{bubbles:b});s.indeterminate=C(i),a.call(s,!C(i)&&i),s.dispatchEvent(c)}},[s,w,i,g]);let y=c.useRef(!C(i)&&i);return(0,b.jsx)(o.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??y.current,required:k,disabled:n,name:p,value:q,form:r,...d,tabIndex:-1,ref:v,style:{...d.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(a){return"indeterminate"===a}function D(a){return C(a)?"indeterminate":a?"checked":"unchecked"}B.displayName=A,a.s(["Checkbox",()=>x,"CheckboxIndicator",()=>z,"Indicator",()=>z,"Root",()=>x,"createCheckboxScope",()=>r,"unstable_BubbleInput",()=>B,"unstable_CheckboxBubbleInput",()=>B,"unstable_CheckboxProvider",()=>u,"unstable_CheckboxTrigger",()=>w,"unstable_Provider",()=>u,"unstable_Trigger",()=>w],27835);var E=a.i(27835),E=E,F=a.i(85536);function G({className:a,...c}){return(0,b.jsx)(E.Root,{"data-slot":"checkbox",className:(0,F.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(E.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(g.default,{className:"size-3.5"}):(0,b.jsx)(f.CheckIcon,{className:"size-3.5"})})})}var H=a.i(584);function I({open:a,onOpenChange:f,onConfirm:g,isDeleting:h,featureName:i,featureId:j,hasChildren:k,hasOpenPr:l}){let[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{a&&(n(!0),p(!1),r(!0))},[a]),(0,c.useEffect)(()=>{m?r(!0):r(!1)},[m]),(0,b.jsx)(e.AlertDialog,{open:a,onOpenChange:f,children:(0,b.jsxs)(e.AlertDialogContent,{onCloseAutoFocus:a=>a.preventDefault(),children:[(0,b.jsxs)(e.AlertDialogHeader,{children:[(0,b.jsx)(e.AlertDialogTitle,{children:"Delete feature?"}),(0,b.jsxs)(e.AlertDialogDescription,{children:["This will permanently delete ",(0,b.jsx)("strong",{children:i})," (",j,"). This action cannot be undone."]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"cleanup-checkbox",checked:m,onCheckedChange:a=>n(!0===a),disabled:h,"aria-label":"Clean up worktree and branches"}),(0,b.jsx)(H.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:"Clean up worktree and branches"})]}),k?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"cascade-delete-checkbox",checked:o,onCheckedChange:a=>p(!0===a),disabled:h,"aria-label":"Delete sub-features"}),(0,b.jsx)(H.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:"Delete sub-features"})]}):null,l?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"close-pr-checkbox",checked:q,onCheckedChange:a=>r(!0===a),disabled:h||!m,"aria-label":"Close pull request"}),(0,b.jsx)(H.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:"Close pull request"})]}):null]}),(0,b.jsxs)(e.AlertDialogFooter,{children:[(0,b.jsx)(e.AlertDialogCancel,{disabled:h,onClick:()=>f(!1),children:"Cancel"}),(0,b.jsx)(e.AlertDialogAction,{variant:"destructive",disabled:h,onClick:()=>g(m,o,!!l&&q),children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Deleting…"]}):"Delete"})]})]})})}a.s(["DeleteFeatureDialog",()=>I],65310),a.s([],77569)},27039,38,12882,25603,a=>{"use strict";var b=a.i(88064),c=a.i(82697),d=a.i(67273),e=a.i(93866),f=a.i(56926),g=a.i(16605),h=a.i(46168),i=a.i(33511);let j={creating:{icon:b.Loader2,borderClass:"border-l-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Creating...",showProgressBar:!1},running:{icon:b.Loader2,borderClass:"border-l-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Running",showProgressBar:!1},"action-required":{icon:c.CircleAlert,borderClass:"border-l-amber-500",labelClass:"text-amber-500",progressClass:"bg-amber-500",badgeClass:"text-amber-700",badgeBgClass:"bg-amber-50",label:"User action required",showProgressBar:!1},done:{icon:d.CircleCheck,borderClass:"border-l-emerald-500",labelClass:"text-emerald-500",progressClass:"bg-emerald-500",badgeClass:"text-emerald-700",badgeBgClass:"bg-emerald-50",label:"Done",showProgressBar:!1},blocked:{icon:e.Ban,borderClass:"border-l-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Blocked",showProgressBar:!1},pending:{icon:h.Clock,borderClass:"border-l-slate-400",labelClass:"text-slate-400",progressClass:"bg-slate-400",badgeClass:"text-slate-600",badgeBgClass:"bg-slate-100",label:"Pending",showProgressBar:!1},error:{icon:f.CircleX,borderClass:"border-l-red-500",labelClass:"text-red-500",progressClass:"bg-red-500",badgeClass:"text-red-700",badgeBgClass:"bg-red-50",label:"Error",showProgressBar:!1},deleting:{icon:g.Trash2,borderClass:"border-l-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Deleting...",showProgressBar:!1},archived:{icon:i.Archive,borderClass:"border-l-gray-500",labelClass:"text-gray-500",progressClass:"bg-gray-500",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Archived",showProgressBar:!1}};a.s(["featureNodeStateConfig",0,j,"lifecycleDisplayLabels",0,{pending:"PENDING",requirements:"REQUIREMENTS",research:"RESEARCH",implementation:"IMPLEMENTATION",review:"REVIEW",awaitingUpstream:"AWAITING UPSTREAM",deploy:"DEPLOY & QA",maintain:"COMPLETED"},"lifecyclePhaseBadge",0,{pending:{letter:"P",bg:"bg-stone-100 dark:bg-stone-800",text:"text-stone-500 dark:text-stone-400",dot:"bg-stone-400",tooltip:"Pending",description:"Waiting to start — the feature is queued and ready to go."},requirements:{letter:"R",bg:"bg-fuchsia-100 dark:bg-fuchsia-900/40",text:"text-fuchsia-600 dark:text-fuchsia-300",dot:"bg-fuchsia-500",tooltip:"Requirements",description:"Gathering what to build — the AI is writing a product requirements document (PRD) based on your request."},research:{letter:"D",bg:"bg-teal-100 dark:bg-teal-900/40",text:"text-teal-600 dark:text-teal-300",dot:"bg-teal-500",tooltip:"Research",description:"Exploring your codebase — the AI is analyzing existing code, patterns, and dependencies to plan the best approach."},implementation:{letter:"I",bg:"bg-indigo-100 dark:bg-indigo-900/40",text:"text-indigo-600 dark:text-indigo-300",dot:"bg-indigo-500",tooltip:"Implementation",description:"Writing code — the AI is implementing the feature, writing tests, and making sure everything compiles."},review:{letter:"M",bg:"bg-orange-100 dark:bg-orange-900/40",text:"text-orange-600 dark:text-orange-300",dot:"bg-orange-500",tooltip:"Merge Review",description:"Ready to merge — the code is complete. Review the changes and approve to merge into your repository."},awaitingUpstream:{letter:"U",bg:"bg-amber-100 dark:bg-amber-900/40",text:"text-amber-600 dark:text-amber-300",dot:"bg-amber-500",tooltip:"Awaiting upstream merge",description:"PR submitted to upstream — waiting for the upstream maintainer to review and merge."},deploy:{letter:"Q",bg:"bg-lime-100 dark:bg-lime-900/40",text:"text-lime-600 dark:text-lime-300",dot:"bg-lime-500",tooltip:"Deploy & QA",description:"Deploying and testing — the feature is being deployed to a preview environment for quality checks."},maintain:{letter:"✓",bg:"bg-emerald-100 dark:bg-emerald-900/40",text:"text-emerald-500 dark:text-emerald-400",dot:"bg-emerald-500",tooltip:"Completed",description:"All done — the feature has been merged and delivered successfully."}},"lifecycleRunningVerbs",0,{pending:"Waiting to start",requirements:"Analyzing",research:"Researching",implementation:"Implementing",review:"Reviewing",awaitingUpstream:"Awaiting upstream",deploy:"Deploying",maintain:"Maintaining"}],27039);var k=a.i(25700);let l=(0,k.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);a.s(["History",()=>l],38);let m=(0,k.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>m],12882);let n=(0,k.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);a.s(["Sparkles",()=>n],25603)},75192,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(17329),h=a.i(66873),i=a.i(63496),j=a.i(48939),k=a.i(58761),l=a.i(51473),m=a.i(59675),n=a.i(5472),o=a.i(75988),p=a.i(80930),q=a.i(14272),r=a.i(77127),s=a.i(90986),t=a.i(79406),u=a.i(16164),v=a.i(45291),w=["Enter"," "],x=["ArrowUp","PageDown","End"],y=["ArrowDown","PageUp","Home",...x],z={ltr:[...w,"ArrowRight"],rtl:[...w,"ArrowLeft"]},A={ltr:["ArrowLeft"],rtl:["ArrowRight"]},B="Menu",[C,D,E]=(0,i.createCollection)(B),[F,G]=(0,f.createContextScope)(B,[E,o.createPopperScope,r.createRovingFocusGroupScope]),H=(0,o.createPopperScope)(),I=(0,r.createRovingFocusGroupScope)(),[J,K]=F(B),[L,M]=F(B),N=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,k=H(d),[l,m]=c.useState(null),n=c.useRef(!1),p=(0,t.useCallbackRef)(h),q=(0,j.useDirection)(g);return c.useEffect(()=>{let a=()=>{n.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>n.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(o.Root,{...k,children:(0,b.jsx)(J,{scope:d,open:e,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(L,{scope:d,onClose:c.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:n,dir:q,modal:i,children:f})})})};N.displayName=B;var O=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=H(d);return(0,b.jsx)(o.Anchor,{...f,...e,ref:c})});O.displayName="MenuAnchor";var P="MenuPortal",[Q,R]=F(P,{forceMount:void 0}),S=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=K(P,c);return(0,b.jsx)(Q,{scope:c,forceMount:d,children:(0,b.jsx)(q.Presence,{present:d||g.open,children:(0,b.jsx)(p.Portal,{asChild:!0,container:f,children:e})})})};S.displayName=P;var T="MenuContent",[U,V]=F(T),W=c.forwardRef((a,c)=>{let d=R(T,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=K(T,a.__scopeMenu),h=M(T,a.__scopeMenu);return(0,b.jsx)(C.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:e||g.open,children:(0,b.jsx)(C.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(X,{...f,ref:c}):(0,b.jsx)(Y,{...f,ref:c})})})})}),X=c.forwardRef((a,f)=>{let g=K(T,a.__scopeMenu),h=c.useRef(null),i=(0,e.useComposedRefs)(f,h);return c.useEffect(()=>{let a=h.current;if(a)return(0,u.hideOthers)(a)},[]),(0,b.jsx)($,{...a,ref:i,trapFocus:g.open,disableOutsidePointerEvents:g.open,disableOutsideScroll:!0,onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>g.onOpenChange(!1)})}),Y=c.forwardRef((a,c)=>{let d=K(T,a.__scopeMenu);return(0,b.jsx)($,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),Z=(0,s.createSlot)("MenuContent.ScrollLock"),$=c.forwardRef((a,f)=>{let{__scopeMenu:g,loop:h=!1,trapFocus:i,onOpenAutoFocus:j,onCloseAutoFocus:n,disableOutsidePointerEvents:p,onEntryFocus:q,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:z,disableOutsideScroll:A,...B}=a,C=K(T,g),E=M(T,g),F=H(g),G=I(g),J=D(g),[L,N]=c.useState(null),O=c.useRef(null),P=(0,e.useComposedRefs)(f,O,C.onContentChange),Q=c.useRef(0),R=c.useRef(""),S=c.useRef(0),V=c.useRef(null),W=c.useRef("right"),X=c.useRef(0),Y=A?v.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(Q.current),[]),(0,l.useFocusGuards)();let $=c.useCallback(a=>{var b,c;return W.current===V.current?.side&&(b=a,!!(c=V.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(U,{scope:g,searchRef:R,onItemEnter:c.useCallback(a=>{$(a)&&a.preventDefault()},[$]),onItemLeave:c.useCallback(a=>{$(a)||(O.current?.focus(),N(null))},[$]),onTriggerLeave:c.useCallback(a=>{$(a)&&a.preventDefault()},[$]),pointerGraceTimerRef:S,onPointerGraceIntentChange:c.useCallback(a=>{V.current=a},[]),children:(0,b.jsx)(Y,{...A?{as:Z,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:(0,d.composeEventHandlers)(j,a=>{a.preventDefault(),O.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:n,children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:z,children:(0,b.jsx)(r.Root,{asChild:!0,...G,dir:E.dir,orientation:"vertical",loop:h,currentTabStopId:L,onCurrentTabStopIdChange:N,onEntryFocus:(0,d.composeEventHandlers)(q,a=>{E.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(o.Content,{role:"menu","aria-orientation":"vertical","data-state":aA(C.open),"data-radix-menu-content":"",dir:E.dir,...F,...B,ref:P,style:{outline:"none",...B.style},onKeyDown:(0,d.composeEventHandlers)(B.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=R.current+e,f=J().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){R.current=b,window.clearTimeout(Q.current),""!==b&&(Q.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=O.current;if(a.target!==f||!y.includes(a.key))return;a.preventDefault();let g=J().filter(a=>!a.disabled).map(a=>a.ref.current);x.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,d.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(Q.current),R.current="")}),onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(a=>{let b=a.target,c=X.current!==a.clientX;a.currentTarget.contains(b)&&c&&(W.current=a.clientX>X.current?"right":"left",X.current=a.clientX)}))})})})})})})});W.displayName=T;var _=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"group",...e,ref:c})});_.displayName="MenuGroup";var aa=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{...e,ref:c})});aa.displayName="MenuLabel";var ab="MenuItem",ac="menu.itemSelect",ad=c.forwardRef((a,f)=>{let{disabled:g=!1,onSelect:i,...j}=a,k=c.useRef(null),l=M(ab,a.__scopeMenu),m=V(ab,a.__scopeMenu),n=(0,e.useComposedRefs)(f,k),o=c.useRef(!1);return(0,b.jsx)(ae,{...j,ref:n,disabled:g,onClick:(0,d.composeEventHandlers)(a.onClick,()=>{let a=k.current;if(!g&&a){let b=new CustomEvent(ac,{bubbles:!0,cancelable:!0});a.addEventListener(ac,a=>i?.(a),{once:!0}),(0,h.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?o.current=!1:l.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),o.current=!0},onPointerUp:(0,d.composeEventHandlers)(a.onPointerUp,a=>{o.current||a.currentTarget?.click()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==m.searchRef.current;g||b&&" "===a.key||w.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});ad.displayName=ab;var ae=c.forwardRef((a,f)=>{let{__scopeMenu:g,disabled:i=!1,textValue:j,...k}=a,l=V(ab,g),m=I(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n),[p,q]=c.useState(!1),[s,t]=c.useState("");return c.useEffect(()=>{let a=n.current;a&&t((a.textContent??"").trim())},[k.children]),(0,b.jsx)(C.ItemSlot,{scope:g,disabled:i,textValue:j??s,children:(0,b.jsx)(r.Item,{asChild:!0,...m,focusable:!i,children:(0,b.jsx)(h.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...k,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(a=>{i?l.onItemLeave(a):(l.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aD(a=>l.onItemLeave(a))),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>q(!0)),onBlur:(0,d.composeEventHandlers)(a.onBlur,()=>q(!1))})})})}),af=c.forwardRef((a,c)=>{let{checked:e=!1,onCheckedChange:f,...g}=a;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:e,children:(0,b.jsx)(ad,{role:"menuitemcheckbox","aria-checked":aB(e)?"mixed":e,...g,ref:c,"data-state":aC(e),onSelect:(0,d.composeEventHandlers)(g.onSelect,()=>f?.(!!aB(e)||!e),{checkForDefaultPrevented:!1})})})});af.displayName="MenuCheckboxItem";var ag="MenuRadioGroup",[ah,ai]=F(ag,{value:void 0,onValueChange:()=>{}}),aj=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,t.useCallbackRef)(e);return(0,b.jsx)(ah,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(_,{...f,ref:c})})});aj.displayName=ag;var ak="MenuRadioItem",al=c.forwardRef((a,c)=>{let{value:e,...f}=a,g=ai(ak,a.__scopeMenu),h=e===g.value;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:h,children:(0,b.jsx)(ad,{role:"menuitemradio","aria-checked":h,...f,ref:c,"data-state":aC(h),onSelect:(0,d.composeEventHandlers)(f.onSelect,()=>g.onValueChange?.(e),{checkForDefaultPrevented:!1})})})});al.displayName=ak;var am="MenuItemIndicator",[an,ao]=F(am,{checked:!1}),ap=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=ao(am,d);return(0,b.jsx)(q.Presence,{present:e||aB(g.checked)||!0===g.checked,children:(0,b.jsx)(h.Primitive.span,{...f,ref:c,"data-state":aC(g.checked)})})});ap.displayName=am;var aq=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aq.displayName="MenuSeparator";var ar=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=H(d);return(0,b.jsx)(o.Arrow,{...f,...e,ref:c})});ar.displayName="MenuArrow";var as="MenuSub",[at,au]=F(as),av=a=>{let{__scopeMenu:d,children:e,open:f=!1,onOpenChange:g}=a,h=K(as,d),i=H(d),[j,k]=c.useState(null),[l,m]=c.useState(null),p=(0,t.useCallbackRef)(g);return c.useEffect(()=>(!1===h.open&&p(!1),()=>p(!1)),[h.open,p]),(0,b.jsx)(o.Root,{...i,children:(0,b.jsx)(J,{scope:d,open:f,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(at,{scope:d,contentId:(0,n.useId)(),triggerId:(0,n.useId)(),trigger:j,onTriggerChange:k,children:e})})})};av.displayName=as;var aw="MenuSubTrigger",ax=c.forwardRef((a,f)=>{let g=K(aw,a.__scopeMenu),h=M(aw,a.__scopeMenu),i=au(aw,a.__scopeMenu),j=V(aw,a.__scopeMenu),k=c.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:m}=j,n={__scopeMenu:a.__scopeMenu},o=c.useCallback(()=>{k.current&&window.clearTimeout(k.current),k.current=null},[]);return c.useEffect(()=>o,[o]),c.useEffect(()=>{let a=l.current;return()=>{window.clearTimeout(a),m(null)}},[l,m]),(0,b.jsx)(O,{asChild:!0,...n,children:(0,b.jsx)(ae,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":i.contentId,"data-state":aA(g.open),...a,ref:(0,e.composeRefs)(f,i.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),g.open||g.onOpenChange(!0))},onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(b=>{j.onItemEnter(b),!b.defaultPrevented&&(a.disabled||g.open||k.current||(j.onPointerGraceIntentChange(null),k.current=window.setTimeout(()=>{g.onOpenChange(!0),o()},100)))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aD(a=>{o();let b=g.content?.getBoundingClientRect();if(b){let c=g.content?.dataset.side,d="right"===c,e=b[d?"left":"right"],f=b[d?"right":"left"];j.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:e,y:b.top},{x:f,y:b.top},{x:f,y:b.bottom},{x:e,y:b.bottom}],side:c}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>j.onPointerGraceIntentChange(null),300)}else{if(j.onTriggerLeave(a),a.defaultPrevented)return;j.onPointerGraceIntentChange(null)}})),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==j.searchRef.current;a.disabled||c&&" "===b.key||z[h.dir].includes(b.key)&&(g.onOpenChange(!0),g.content?.focus(),b.preventDefault())})})})});ax.displayName=aw;var ay="MenuSubContent",az=c.forwardRef((a,f)=>{let g=R(T,a.__scopeMenu),{forceMount:h=g.forceMount,...i}=a,j=K(T,a.__scopeMenu),k=M(T,a.__scopeMenu),l=au(ay,a.__scopeMenu),m=c.useRef(null),n=(0,e.useComposedRefs)(f,m);return(0,b.jsx)(C.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:h||j.open,children:(0,b.jsx)(C.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)($,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:n,align:"start",side:"rtl"===k.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{k.isUsingKeyboardRef.current&&m.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==l.trigger&&j.onOpenChange(!1)}),onEscapeKeyDown:(0,d.composeEventHandlers)(a.onEscapeKeyDown,a=>{k.onClose(),a.preventDefault()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=A[k.dir].includes(a.key);b&&c&&(j.onOpenChange(!1),l.trigger?.focus(),a.preventDefault())})})})})})});function aA(a){return a?"open":"closed"}function aB(a){return"indeterminate"===a}function aC(a){return aB(a)?"indeterminate":a?"checked":"unchecked"}function aD(a){return b=>"mouse"===b.pointerType?a(b):void 0}az.displayName=ay;var aE="DropdownMenu",[aF,aG]=(0,f.createContextScope)(aE,[G]),aH=G(),[aI,aJ]=aF(aE),aK=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:h,defaultOpen:i,onOpenChange:j,modal:k=!0}=a,l=aH(d),m=c.useRef(null),[o,p]=(0,g.useControllableState)({prop:h,defaultProp:i??!1,onChange:j,caller:aE});return(0,b.jsx)(aI,{scope:d,triggerId:(0,n.useId)(),triggerRef:m,contentId:(0,n.useId)(),open:o,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(a=>!a),[p]),modal:k,children:(0,b.jsx)(N,{...l,open:o,onOpenChange:p,dir:f,modal:k,children:e})})};aK.displayName=aE;var aL="DropdownMenuTrigger",aM=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:f,disabled:g=!1,...i}=a,j=aJ(aL,f),k=aH(f);return(0,b.jsx)(O,{asChild:!0,...k,children:(0,b.jsx)(h.Primitive.button,{type:"button",id:j.triggerId,"aria-haspopup":"menu","aria-expanded":j.open,"aria-controls":j.open?j.contentId:void 0,"data-state":j.open?"open":"closed","data-disabled":g?"":void 0,disabled:g,...i,ref:(0,e.composeRefs)(c,j.triggerRef),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,a=>{!g&&0===a.button&&!1===a.ctrlKey&&(j.onOpenToggle(),j.open||a.preventDefault())}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{!g&&(["Enter"," "].includes(a.key)&&j.onOpenToggle(),"ArrowDown"===a.key&&j.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});aM.displayName=aL;var aN=a=>{let{__scopeDropdownMenu:c,...d}=a,e=aH(c);return(0,b.jsx)(S,{...e,...d})};aN.displayName="DropdownMenuPortal";var aO="DropdownMenuContent",aP=c.forwardRef((a,e)=>{let{__scopeDropdownMenu:f,...g}=a,h=aJ(aO,f),i=aH(f),j=c.useRef(!1);return(0,b.jsx)(W,{id:h.contentId,"aria-labelledby":h.triggerId,...i,...g,ref:e,onCloseAutoFocus:(0,d.composeEventHandlers)(a.onCloseAutoFocus,a=>{j.current||h.triggerRef.current?.focus(),j.current=!1,a.preventDefault()}),onInteractOutside:(0,d.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!h.modal||d)&&(j.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aP.displayName=aO;var aQ=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(_,{...f,...e,ref:c})});aQ.displayName="DropdownMenuGroup";var aR=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aa,{...f,...e,ref:c})});aR.displayName="DropdownMenuLabel";var aS=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ad,{...f,...e,ref:c})});aS.displayName="DropdownMenuItem";var aT=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(af,{...f,...e,ref:c})});aT.displayName="DropdownMenuCheckboxItem";var aU=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aj,{...f,...e,ref:c})});aU.displayName="DropdownMenuRadioGroup";var aV=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(al,{...f,...e,ref:c})});aV.displayName="DropdownMenuRadioItem";var aW=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ap,{...f,...e,ref:c})});aW.displayName="DropdownMenuItemIndicator";var aX=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aq,{...f,...e,ref:c})});aX.displayName="DropdownMenuSeparator";var aY=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ar,{...f,...e,ref:c})});aY.displayName="DropdownMenuArrow";var aZ=a=>{let{__scopeDropdownMenu:c,children:d,open:e,onOpenChange:f,defaultOpen:h}=a,i=aH(c),[j,k]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:f,caller:"DropdownMenuSub"});return(0,b.jsx)(av,{...i,open:j,onOpenChange:k,children:d})},a$=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ax,{...f,...e,ref:c})});a$.displayName="DropdownMenuSubTrigger";var a_=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(az,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});a_.displayName="DropdownMenuSubContent",a.s(["Arrow",()=>aY,"CheckboxItem",()=>aT,"Content",()=>aP,"DropdownMenu",()=>aK,"DropdownMenuArrow",()=>aY,"DropdownMenuCheckboxItem",()=>aT,"DropdownMenuContent",()=>aP,"DropdownMenuGroup",()=>aQ,"DropdownMenuItem",()=>aS,"DropdownMenuItemIndicator",()=>aW,"DropdownMenuLabel",()=>aR,"DropdownMenuPortal",()=>aN,"DropdownMenuRadioGroup",()=>aU,"DropdownMenuRadioItem",()=>aV,"DropdownMenuSeparator",()=>aX,"DropdownMenuSub",()=>aZ,"DropdownMenuSubContent",()=>a_,"DropdownMenuSubTrigger",()=>a$,"DropdownMenuTrigger",()=>aM,"Group",()=>aQ,"Item",()=>aS,"ItemIndicator",()=>aW,"Label",()=>aR,"Portal",()=>aN,"RadioGroup",()=>aU,"RadioItem",()=>aV,"Root",()=>aK,"Separator",()=>aX,"Sub",()=>aZ,"SubContent",()=>a_,"SubTrigger",()=>a$,"Trigger",()=>aM,"createDropdownMenuScope",()=>aG],5310);var a0=a.i(5310),a0=a0,a1=a.i(72016),a2=a.i(3410),a3=a.i(4019),a4=a.i(85536);let a5=a0.Root,a6=a0.Trigger;a0.Group;let a7=a0.Portal,a8=a0.Sub;a0.RadioGroup;let a9=c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(a0.SubTrigger,{ref:f,className:(0,a4.cn)("focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(a2.ChevronRight,{className:"ml-auto"})]}));a9.displayName=a0.SubTrigger.displayName;let ba=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(a0.SubContent,{ref:d,className:(0,a4.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",a),...c}));ba.displayName=a0.SubContent.displayName;let bb=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(a0.Portal,{children:(0,b.jsx)(a0.Content,{ref:e,sideOffset:c,className:(0,a4.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",a),...d})}));bb.displayName=a0.Content.displayName;let bc=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(a0.Item,{ref:e,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",c&&"pl-8",a),...d}));bc.displayName=a0.Item.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(a0.CheckboxItem,{ref:f,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(a0.ItemIndicator,{children:(0,b.jsx)(a1.Check,{className:"h-4 w-4"})})}),c]})).displayName=a0.CheckboxItem.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(a0.RadioItem,{ref:e,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(a0.ItemIndicator,{children:(0,b.jsx)(a3.Circle,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=a0.RadioItem.displayName;let bd=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(a0.Label,{ref:e,className:(0,a4.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d}));bd.displayName=a0.Label.displayName;let be=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(a0.Separator,{ref:d,className:(0,a4.cn)("bg-muted -mx-1 my-1 h-px",a),...c}));be.displayName=a0.Separator.displayName,a.s(["DropdownMenu",()=>a5,"DropdownMenuContent",()=>bb,"DropdownMenuItem",()=>bc,"DropdownMenuLabel",()=>bd,"DropdownMenuPortal",()=>a7,"DropdownMenuSeparator",()=>be,"DropdownMenuSub",()=>a8,"DropdownMenuSubContent",()=>ba,"DropdownMenuSubTrigger",()=>a9,"DropdownMenuTrigger",()=>a6],75192)},54250,61583,1330,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(84945),e=a.i(60047),f=a.i(67837),g=a.i(16605),h=a.i(3942),i=a.i(69428),j=a.i(88064),k=a.i(84494),l=a.i(18615),m=a.i(50490),n=a.i(5698),o=a.i(83886),p=a.i(33511),q=a.i(1585),r=a.i(85536),s=a.i(5623),t=a.i(18948),u=a.i(82934),v=a.i(18662),w=a.i(21333),x=a.i(3703);a.i(77569);var y=a.i(65310),z=a.i(27039),A=a.i(17606),B=a.i(38),C=a.i(98410),D=a.i(71238),E=a.i(63698),F=a.i(12882),G=a.i(46168),H=a.i(71716),I=a.i(25603),J=a.i(75192),K=a.i(43707);async function L(a){try{await navigator.clipboard.writeText(a)}catch{let b=document.createElement("textarea");b.value=a,b.style.position="fixed",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}}function M(a){a.stopPropagation()}function N({repositoryPath:a,className:d,onCreateFromSession:e}){let[f,g]=(0,c.useState)(!1),{getSessionsForPath:h,hasActiveSessions:i}=(0,K.useSessionsContext)(),j=h(a),k=i(a),l=(0,c.useCallback)(a=>{a||g(!1)},[]),m=f?j:j.slice(0,3),n=j.length>3;return(0,b.jsxs)(J.DropdownMenu,{modal:!1,onOpenChange:l,children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(J.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button","aria-label":"View sessions","data-testid":"feature-node-sessions-button",className:(0,r.cn)("nodrag relative flex h-5 cursor-pointer items-center gap-0.5 rounded px-0.5 text-[10px] transition-colors","text-muted-foreground hover:text-foreground hover:bg-muted",d),onClick:M,onPointerDown:M,children:[(0,b.jsx)(B.History,{className:"h-3 w-3 shrink-0"}),j.length>0?(0,b.jsx)("span",{"data-testid":"feature-node-sessions-count",children:j.length}):null,k?(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-emerald-500"}):null]})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:k?"Sessions (active)":"Sessions"})]})}),(0,b.jsxs)(J.DropdownMenuContent,{align:"start",side:"bottom",className:"w-80",onClick:M,onPointerDown:M,children:[(0,b.jsxs)(J.DropdownMenuLabel,{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(B.History,{className:"h-3 w-3"}),"Agent Sessions"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),0===j.length?(0,b.jsx)("div",{className:"text-muted-foreground py-4 text-center text-xs",children:"No sessions found"}):(0,b.jsxs)(b.Fragment,{children:[m.map(c=>(0,b.jsx)(O,{session:c,repositoryPath:a,onCreateFromSession:e},c.id)),n?(0,b.jsxs)(J.DropdownMenuItem,{className:"text-muted-foreground justify-center gap-1 py-1.5 text-[10px]",onClick:a=>{a.preventDefault(),g(a=>!a)},children:[(0,b.jsx)(H.ChevronDown,{className:(0,r.cn)("h-3 w-3 transition-transform",f&&"rotate-180")}),f?"Show less":`Show ${j.length-3} more`]}):null]})]})]})}function O({session:a,repositoryPath:c,onCreateFromSession:d}){let e,f,g,h,i,j=!!a.lastMessageAt&&Date.now()-new Date(a.lastMessageAt).getTime()<3e5,k=(0,A.getAgentTypeIcon)(a.agentType);return(0,b.jsxs)(J.DropdownMenuSub,{children:[(0,b.jsxs)(J.DropdownMenuSubTrigger,{className:"flex items-start gap-2 py-2 pr-2",children:[(0,b.jsxs)("div",{className:"relative mt-0.5 shrink-0",children:[(0,b.jsx)(k,{className:"h-4 w-4"}),j?(0,b.jsx)("span",{className:"border-background absolute -right-0.5 -bottom-0.5 h-2 w-2 rounded-full border bg-emerald-500"}):null]}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"truncate text-xs leading-tight",children:function(a,b=40){return a?a.length<=b?a:`${a.slice(0,b)}...`:"No preview"}(a.preview)}),(0,b.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2 text-[10px] leading-tight",children:[(0,b.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,b.jsx)(F.MessageSquare,{className:"h-2.5 w-2.5"}),a.messageCount]}),a.firstMessageAt?(0,b.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,b.jsx)(G.Clock,{className:"h-2.5 w-2.5"}),new Date(a.firstMessageAt).toLocaleDateString()]}):null,a.lastMessageAt?(0,b.jsx)("span",{className:(0,r.cn)("ml-auto shrink-0",j?"font-medium text-emerald-600":""),children:(e=new Date(a.lastMessageAt),g=Math.floor((f=new Date().getTime()-e.getTime())/6e4),h=Math.floor(f/36e5),i=Math.floor(f/864e5),g<1?"just now":g<60?`${g}m ago`:h<24?`${h}h ago`:i<7?`${i}d ago`:e.toLocaleDateString())}):null]})]})]}),(0,b.jsx)(J.DropdownMenuPortal,{children:(0,b.jsxs)(J.DropdownMenuSubContent,{onClick:M,onPointerDown:M,children:[(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void L(`claude --resume ${a.id} --project ${c}`),children:[(0,b.jsx)(E.Terminal,{className:"h-3.5 w-3.5"}),"Copy resume command"]}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void L(a.id),children:[(0,b.jsx)(C.Copy,{className:"h-3.5 w-3.5"}),"Copy session ID"]}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>{let a=`vscode://file${c}`;window.open(a,"_blank")},children:[(0,b.jsx)(D.ExternalLink,{className:"h-3.5 w-3.5"}),"Open in IDE"]}),d&&a.filePath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs font-medium text-violet-700 focus:bg-violet-50 focus:text-violet-800",onClick:()=>d(a,a.filePath),children:[(0,b.jsx)(I.Sparkles,{className:"h-3.5 w-3.5 text-violet-500"}),"Create feature from session"]})]}):null]})})]})}function P({agentType:a,className:c}){let d=(0,A.getAgentTypeIcon)(a);return(0,b.jsx)(d,{className:c})}function Q(a){return z.featureNodeStateConfig[a.state].icon}function R(a){return"requirements"===a.lifecycle?"Review Requirements":"implementation"===a.lifecycle?"Review Technical Plan":"review"===a.lifecycle?"Review Changes":"Review"}function S(a){let b=z.featureNodeStateConfig[a.state];switch(a.state){case"creating":return"Creating...";case"running":return z.lifecycleRunningVerbs[a.lifecycle];case"done":return a.runtime?`Completed in ${a.runtime}`:"Completed";case"blocked":return a.blockedBy?`Waiting on ${a.blockedBy}`:"Blocked";case"pending":return"Pending";case"action-required":return R(a);case"error":return a.errorMessage??"Something went wrong";default:return b.label}}function T({data:a,selected:A}){let B,C,D,E=z.featureNodeStateConfig[a.state],F=E.icon,[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(!1),M=(0,w.useFeatureFlags)().envDeploy&&a.repositoryPath&&a.branch?{targetId:a.featureId,targetType:"feature",repositoryPath:a.repositoryPath,branch:a.branch}:null,O=(0,v.useDeployAction)(M),T="Booting"===O.status||"Ready"===O.status,U="Ready"===O.status;return(0,b.jsxs)("div",{className:"animate-in fade-in group relative duration-300",children:[a.showHandles?(0,b.jsx)(d.Handle,{type:"target",position:e.Position.Left,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null,(0,b.jsx)("div",{className:"absolute top-0 bottom-0 -left-14 flex items-center justify-center pr-3 pl-4 opacity-0 transition-opacity group-hover:opacity-100",onPointerDown:a=>a.stopPropagation(),children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[a.onArchive&&a.featureId&&"deleting"!==a.state&&"archived"!==a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Archive feature","data-testid":"feature-node-archive-button",onClick:a=>{a.stopPropagation(),L(!0)},className:"bg-card text-muted-foreground flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors hover:border-gray-500 hover:text-gray-600",children:(0,b.jsx)(p.Archive,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Archive feature"})]})}):null,a.onDelete&&a.featureId&&"deleting"!==a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Delete feature","data-testid":"feature-node-delete-button",onClick:a=>{a.stopPropagation(),H(!0)},className:"bg-card text-muted-foreground hover:border-destructive hover:text-destructive flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,b.jsx)(g.Trash2,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Delete feature"})]})}):null,a.onUnarchive&&a.featureId&&"archived"===a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Unarchive feature","data-testid":"feature-node-unarchive-button",onClick:b=>{b.stopPropagation(),a.onUnarchive?.(a.featureId)},className:"bg-card text-muted-foreground hover:border-primary hover:text-primary flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,b.jsx)(q.ArchiveRestore,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Unarchive feature"})]})}):null]})}),a.onDelete&&a.featureId&&"deleting"!==a.state?(0,b.jsx)(y.DeleteFeatureDialog,{open:G,onOpenChange:H,onConfirm:(b,c,d)=>{H(!1),a.onDelete?.(a.featureId,b,c,d)},isDeleting:!1,featureName:a.name??"this feature",featureId:a.featureId,hasChildren:a.hasChildren,hasOpenPr:!!a.pr&&"Open"===a.pr.status}):null,a.onArchive&&a.featureId&&"deleting"!==a.state&&"archived"!==a.state?(0,b.jsx)(x.AlertDialog,{open:K,onOpenChange:L,children:(0,b.jsxs)(x.AlertDialogContent,{onCloseAutoFocus:a=>a.preventDefault(),children:[(0,b.jsxs)(x.AlertDialogHeader,{children:[(0,b.jsx)(x.AlertDialogTitle,{children:"Archive feature?"}),(0,b.jsxs)(x.AlertDialogDescription,{children:[(0,b.jsx)("strong",{children:a.name})," will be hidden from the canvas. You can unarchive it later to restore it."]})]}),(0,b.jsxs)(x.AlertDialogFooter,{children:[(0,b.jsx)(x.AlertDialogCancel,{onClick:()=>L(!1),children:"Cancel"}),(0,b.jsx)(x.AlertDialogAction,{onClick:()=>{L(!1),a.onArchive?.(a.featureId)},children:"Archive"})]})]})}):null,(0,b.jsxs)("div",{"data-testid":"feature-node-card","aria-busy":"creating"===a.state||"deleting"===a.state?"true":void 0,className:(0,r.cn)("bg-card flex min-h-35 w-97 cursor-pointer flex-col rounded-lg border p-3 shadow-sm transition-[border-color] duration-200 dark:bg-neutral-800/80","action-required"===a.state&&"border-l-[3px] border-l-rose-400 dark:border-l-amber-500","action-required"===a.state&&A&&"border-t-rose-400 border-r-rose-400 border-b-rose-400 dark:border-t-amber-500 dark:border-r-amber-500 dark:border-b-amber-500",A&&"action-required"!==a.state&&"border-blue-400 dark:border-amber-500/60","deleting"===a.state&&"opacity-60","archived"===a.state&&"opacity-50"),children:["creating"!==a.state?(0,b.jsx)("div",{className:"absolute top-3 right-4",children:(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("span",{"data-testid":"feature-node-phase-badge",className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:z.lifecyclePhaseBadge[a.lifecycle].tooltip}),(0,b.jsx)("span",{className:(0,r.cn)("h-1.5 w-1.5 -translate-y-px rounded-full",z.lifecyclePhaseBadge[a.lifecycle].dot)})]})}),(0,b.jsxs)(u.TooltipContent,{side:"right",className:"max-w-56",children:[(0,b.jsx)("p",{className:"font-semibold",children:z.lifecyclePhaseBadge[a.lifecycle].tooltip}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-neutral-500",children:z.lifecyclePhaseBadge[a.lifecycle].description})]})]})})}):null,(0,b.jsxs)("div",{className:"flex items-center gap-1.5 pr-24",children:[a.agentType?(0,b.jsx)(P,{agentType:a.agentType,className:"h-4 w-4 shrink-0"}):null,(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{"data-testid":"feature-node-fast-mode-badge",className:"shrink-0",children:a.fastMode?(0,b.jsx)(h.Zap,{className:"h-3.5 w-3.5 text-amber-500"}):(0,b.jsx)(i.ClipboardList,{className:"h-3.5 w-3.5 text-indigo-500"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:a.fastMode?"Fast Mode":"Spec Driven"})]})}),(0,b.jsx)("h3",{className:"min-w-0 truncate text-sm font-bold",children:a.name})]}),a.description?(0,b.jsx)("p",{"data-testid":"feature-node-description",className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:a.description}):null,(0,b.jsxs)("div",{className:"mt-auto pt-2",children:[E.showProgressBar?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"text-muted-foreground flex items-center justify-end text-[10px]",children:(0,b.jsxs)("span",{children:[a.progress,"%"]})}),(0,b.jsx)("div",{"data-testid":"feature-node-progress-bar",className:"bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full",children:(0,b.jsx)("div",{className:(0,r.cn)("h-full rounded-full transition-all",E.progressClass),style:{width:`${a.progress}%`}})})]}):null,E.showProgressBar||["deleting","creating","running","done","action-required","pending","blocked"].includes(a.state)?null:(0,b.jsxs)("div",{"data-testid":"feature-node-badge",className:"relative flex min-w-0 items-center gap-1.5 text-xs",children:[(B=Q(a),(0,b.jsx)(B,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("translate-y-px truncate text-[11px] font-medium",E.badgeClass),children:S(a)})]}),(0,b.jsxs)("div",{className:"mt-1.5 flex min-h-[26px] items-center justify-between gap-2",style:{transform:"translateY(1px)"},children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[a.featureId?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","data-testid":"feature-node-id",className:"nodrag text-muted-foreground/60 hover:text-muted-foreground flex shrink-0 cursor-pointer items-baseline gap-1 font-mono text-[10px] transition-colors active:scale-95",onClick:b=>{b.stopPropagation(),navigator.clipboard.writeText(a.featureId),J(!0),setTimeout(()=>J(!1),1500)},children:I?(0,b.jsx)("span",{className:"text-emerald-500",children:"Copied!"}):a.featureId.slice(0,6)})}),(0,b.jsxs)(u.TooltipContent,{side:"top",children:["Click to copy: ",a.featureId]})]})}):null,a.worktreePath??a.repositoryPath?(0,b.jsx)(N,{repositoryPath:a.worktreePath??a.repositoryPath}):null,M&&"deleting"!==a.state&&"creating"!==a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"bg-border h-3 w-px shrink-0"}),U?(0,b.jsxs)("span",{className:"group/deploy nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Stop Dev Server",className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors",onClick:a=>{a.stopPropagation(),O.stop()},children:O.stopLoading?(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 animate-spin text-red-500"}):(0,b.jsxs)("span",{className:"relative h-3.5 w-3.5",children:[(0,b.jsx)(k.Globe,{className:"absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400"}),(0,b.jsx)(n.Square,{className:"absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400"})]})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"Stop Dev Server"})]})}),O.url?(0,b.jsx)("a",{href:O.url,target:"_blank",rel:"noopener noreferrer","data-testid":"feature-node-deployment-indicator",className:"nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400",onClick:a=>a.stopPropagation(),children:O.url}):null]}):T?(0,b.jsxs)("span",{className:"nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Stop Dev Server",className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300",onClick:a=>{a.stopPropagation(),O.stop()},children:O.stopLoading?(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Square,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"Stop Dev Server"})]})}),(0,b.jsx)("span",{className:"text-muted-foreground animate-pulse text-[10px]",children:"Starting…"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:(0,r.cn)("nodrag flex shrink-0 items-center",!O.deployError&&"[&_button]:text-green-600 [&_button]:hover:text-green-700 dark:[&_button]:text-green-400 dark:[&_button]:hover:text-green-300"),"data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(s.ActionButton,{label:O.deployError?"Retry":"Start Dev Server",onClick:O.deploy,loading:O.deployLoading,error:!1,icon:O.deployError?l.RotateCcw:m.Play,iconOnly:!0,variant:"ghost",size:"icon-xs"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:O.deployError?"Retry Dev Server":"Start Dev Server"})]})}),O.deployError?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"min-w-0 truncate text-[10px] text-red-500",children:"Failed"})}),(0,b.jsx)(u.TooltipContent,{side:"top",className:"max-w-64",children:(0,b.jsx)("p",{className:"text-xs",children:O.deployError})})]})}):null]})]}):null]}),"deleting"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Deleting…"})]}):"creating"===a.state||"running"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(F,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400"}),(0,b.jsx)("span",{className:"font-medium text-teal-600 dark:text-teal-400",children:S(a)})]}):"action-required"===a.state?(0,b.jsxs)(t.Button,{variant:"default",size:"xs","aria-label":R(a),"data-testid":"feature-node-approve-button",onClick:()=>{},className:"nodrag dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90 cursor-pointer bg-neutral-900 text-[11px] text-white hover:bg-neutral-800",children:[(0,b.jsx)(o.Eye,{className:"h-3 w-3"}),R(a)]}):"error"===a.state&&a.onRetry?(0,b.jsxs)(t.Button,{variant:"outline",size:"xs","aria-label":"Retry","data-testid":"feature-node-retry-button",onClick:b=>{b.stopPropagation(),a.onRetry(a.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,b.jsx)(l.RotateCcw,{className:"h-3 w-3"}),"Retry"]}):"blocked"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(C=Q(a),(0,b.jsx)(C,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("truncate text-[11px] font-medium",E.badgeClass),children:S(a)})]}):"done"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(D=Q(a),(0,b.jsx)(D,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("text-[11px] font-medium",E.badgeClass),children:S(a)})]}):"pending"===a.state&&a.onStart?(0,b.jsxs)(t.Button,{variant:"outline",size:"xs","aria-label":"Start","data-testid":"feature-node-start-button",onClick:b=>{b.stopPropagation(),a.onStart(a.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,b.jsx)(m.Play,{className:"h-3 w-3"}),"Start"]}):null]})]})]}),a.onAction&&"deleting"!==a.state?(0,b.jsx)(d.Handle,{type:"source",position:e.Position.Right,className:"h-0! w-0! border-0! bg-transparent!",style:{top:70},children:(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Add feature","data-testid":"feature-node-action-button",onClick:b=>{b.stopPropagation(),a.onAction?.()},className:"nodrag absolute top-1/2 left-1/2 flex h-6 w-6 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-blue-500 text-white opacity-0 shadow-md transition-opacity group-hover:opacity-100 hover:bg-blue-600",children:(0,b.jsx)(f.Plus,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"right",children:"Add feature"})]})})}):a.showHandles?(0,b.jsx)(d.Handle,{type:"source",position:e.Position.Right,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null]})}a.s(["FeatureSessionsDropdown",()=>N],61583),a.s(["FeatureNode",()=>T],1330),a.s([],54250)},92548,a=>{"use strict";let b=(0,a.i(25700).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);a.s(["GitCommitHorizontal",()=>b],92548)},45449,a=>{"use strict";let b=(0,a.i(25700).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>b],45449)},91498,a=>{"use strict";let b=(0,a.i(25700).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],91498)},49415,60882,74146,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("4062cd20aa728a6608d62468cbdf928efb089043c1",b.callServer,void 0,b.findSourceMapURL,"resumeFeature");a.s(["resumeFeature",()=>c],49415);let d=(0,b.createServerReference)("40522e6be5bf72773e33c5a93c86d4a2462fa3ef68",b.callServer,void 0,b.findSourceMapURL,"startFeature");a.s(["startFeature",()=>d],60882);var e=a.i(46847);function f(a){switch(a){case e.NotificationEventType.AgentStarted:case e.NotificationEventType.PhaseCompleted:return"running";case e.NotificationEventType.WaitingApproval:return"action-required";case e.NotificationEventType.AgentCompleted:return"done";case e.NotificationEventType.AgentFailed:case e.NotificationEventType.PrChecksFailed:return"error";case e.NotificationEventType.PrMerged:case e.NotificationEventType.PrChecksPassed:return"done";case e.NotificationEventType.PrClosed:return"action-required";case e.NotificationEventType.PrBlocked:return"blocked";case e.NotificationEventType.MergeReviewReady:return"action-required"}}let g={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review",maintain:"maintain",blocked:"requirements",pending:"pending",archived:"maintain"};function h(a){let b=new Set(a.filter(a=>a.eventType===e.NotificationEventType.WaitingApproval).map(a=>a.featureId));return a.map(a=>{let c=a.eventType===e.NotificationEventType.PhaseCompleted&&b.has(a.featureId);return{featureId:a.featureId,state:c?void 0:f(a.eventType),lifecycle:c?void 0:function(a){if(a)return g[a]}(a.phaseName),eventType:a.eventType,phaseName:a.phaseName}})}a.s(["mapEventTypeToState",()=>f,"resolveSseEventUpdates",()=>h],74146)}];
|
|
2
|
+
M${B.x},${B.y}h${B.width}v${B.height}h${-B.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}gp.displayName="MiniMap",(0,t.memo)(gp);let gq={[q.Line]:"right",[q.Handle]:"bottom-right"};(0,t.memo)(function({nodeId:a,position:b,variant:c=q.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:p,onResize:r,onResizeEnd:v}){let w,x=e2(),y="string"==typeof a?a:x,z=ec(),A=(0,t.useRef)(null),B=c===q.Handle,C=eb((0,t.useCallback)((w=B&&n,a=>w?`${Math.max(1/a.transform[2],1)}`:void 0),[B,n]),d7),D=(0,t.useRef)(null),E=b??gq[c];(0,t.useEffect)(()=>{if(A.current&&y)return D.current||(D.current=d$({domNode:A.current,nodeId:y,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=z.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=z.getState(),g=[],h={x:a.x,y:a.y},i=d.get(y);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=dv([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...cN({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:y,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:y,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{z.getState().triggerNodeChanges([{id:y,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),D.current.update({controlPosition:E,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:p,onResize:r,onResizeEnd:v,shouldResize:o}),()=>{D.current?.destroy()}},[E,h,i,j,k,l,p,r,v,o]);let F=E.split("-");return(0,s.jsx)("div",{className:u(["react-flow__resize-control","nodrag",...F,c,d]),ref:A,style:{...e,scale:C,...g&&{[B?"backgroundColor":"borderColor"]:g}},children:f})}),a.s(["Background",()=>f8,"BackgroundVariant",()=>r,"BaseEdge",()=>fo,"ControlButton",()=>ge,"Controls",()=>gh,"Handle",()=>e4,"Panel",()=>el,"ReactFlow",()=>f2,"ReactFlowProvider",()=>f_,"useReactFlow",()=>eO],84945)},43707,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)(null);function e({children:a}){let[e,f]=(0,c.useState)(new Map),g=(0,c.useRef)(e);g.current=e;let h=(0,c.useCallback)(async()=>{if(!document.hidden)try{let a=await fetch("/api/sessions-batch");if(!a.ok)return;let b=await a.json(),c=new Map;for(let[a,d]of Object.entries(b.sessionsByPath))c.set(a,d);f(c)}catch{}},[]);(0,c.useEffect)(()=>{h();let a=setInterval(()=>void h(),3e4);return()=>clearInterval(a)},[h]);let i=(0,c.useCallback)(a=>g.current.get(a)??[],[e]),j=(0,c.useCallback)(a=>{let b=g.current.get(a);if(!b)return!1;let c=Date.now();return b.some(a=>a.lastMessageAt&&c-new Date(a.lastMessageAt).getTime()<3e5)},[e]),k=(0,c.useMemo)(()=>({getSessionsForPath:i,hasActiveSessions:j}),[i,j]);return(0,b.jsx)(d.Provider,{value:k,children:a})}function f(){let a=(0,c.useContext)(d);return a||{getSessionsForPath:()=>[],hasActiveSessions:()=>!1}}a.s(["SessionsProvider",()=>e,"useSessionsContext",()=>f])},83886,a=>{"use strict";let b=(0,a.i(25700).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",()=>b],83886)},18615,a=>{"use strict";let b=(0,a.i(25700).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",()=>b],18615)},16605,a=>{"use strict";let b=(0,a.i(25700).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",()=>b],16605)},69428,a=>{"use strict";let b=(0,a.i(25700).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);a.s(["ClipboardList",()=>b],69428)},33511,1585,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);a.s(["Archive",()=>c],33511);let d=(0,b.default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);a.s(["ArchiveRestore",()=>d],1585)},77569,65310,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(88064),e=a.i(3703),f=a.i(10606),g=a.i(96853),g=g,h=a.i(6175),i=a.i(7420),j=a.i(59653),k=a.i(17329),l=a.i(64005),m=a.i(74432),n=a.i(14272),o=a.i(66873),p="Checkbox",[q,r]=(0,i.createContextScope)(p),[s,t]=q(p);function u(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:l,required:m,value:n="on",internal_do_not_use_render:o}=a,[q,r]=(0,k.useControllableState)({prop:e,defaultProp:g??!1,onChange:l,caller:p}),[t,u]=c.useState(null),[v,w]=c.useState(null),x=c.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:q,disabled:h,setChecked:r,control:t,setControl:u,name:j,form:i,value:n,hasConsumerStoppedPropagationRef:x,required:m,defaultChecked:!C(g)&&g,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,b.jsx)(s,{scope:d,...z,children:"function"==typeof o?o(z):f})}var v="CheckboxTrigger",w=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:i,value:k,disabled:l,checked:m,required:n,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:r,isFormControl:s,bubbleInput:u}=t(v,a),w=(0,h.useComposedRefs)(g,p),x=c.useRef(m);return c.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,b.jsx)(o.Primitive.button,{type:"button",role:"checkbox","aria-checked":C(m)?"mixed":m,"aria-required":n,"data-state":D(m),"data-disabled":l?"":void 0,disabled:l,value:k,...f,ref:w,onKeyDown:(0,j.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,j.composeEventHandlers)(e,a=>{q(a=>!!C(a)||!a),u&&s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})})});w.displayName=v;var x=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(u,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(B,{__scopeCheckbox:d})]})})});x.displayName=p;var y="CheckboxIndicator",z=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=t(y,d);return(0,b.jsx)(n.Presence,{present:e||C(g.checked)||!0===g.checked,children:(0,b.jsx)(o.Primitive.span,{"data-state":D(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});z.displayName=y;var A="CheckboxBubbleInput",B=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:i,defaultChecked:j,required:k,disabled:n,name:p,value:q,form:r,bubbleInput:s,setBubbleInput:u}=t(A,a),v=(0,h.useComposedRefs)(e,u),w=(0,l.usePrevious)(i),x=(0,m.useSize)(f);c.useEffect(()=>{if(!s)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==i&&a){let c=new Event("click",{bubbles:b});s.indeterminate=C(i),a.call(s,!C(i)&&i),s.dispatchEvent(c)}},[s,w,i,g]);let y=c.useRef(!C(i)&&i);return(0,b.jsx)(o.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??y.current,required:k,disabled:n,name:p,value:q,form:r,...d,tabIndex:-1,ref:v,style:{...d.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(a){return"indeterminate"===a}function D(a){return C(a)?"indeterminate":a?"checked":"unchecked"}B.displayName=A,a.s(["Checkbox",()=>x,"CheckboxIndicator",()=>z,"Indicator",()=>z,"Root",()=>x,"createCheckboxScope",()=>r,"unstable_BubbleInput",()=>B,"unstable_CheckboxBubbleInput",()=>B,"unstable_CheckboxProvider",()=>u,"unstable_CheckboxTrigger",()=>w,"unstable_Provider",()=>u,"unstable_Trigger",()=>w],27835);var E=a.i(27835),E=E,F=a.i(85536);function G({className:a,...c}){return(0,b.jsx)(E.Root,{"data-slot":"checkbox",className:(0,F.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(E.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(g.default,{className:"size-3.5"}):(0,b.jsx)(f.CheckIcon,{className:"size-3.5"})})})}var H=a.i(584);function I({open:a,onOpenChange:f,onConfirm:g,isDeleting:h,featureName:i,featureId:j,hasChildren:k,hasOpenPr:l}){let[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{a&&(n(!0),p(!1),r(!0))},[a]),(0,c.useEffect)(()=>{m?r(!0):r(!1)},[m]),(0,b.jsx)(e.AlertDialog,{open:a,onOpenChange:f,children:(0,b.jsxs)(e.AlertDialogContent,{onCloseAutoFocus:a=>a.preventDefault(),children:[(0,b.jsxs)(e.AlertDialogHeader,{children:[(0,b.jsx)(e.AlertDialogTitle,{children:"Delete feature?"}),(0,b.jsxs)(e.AlertDialogDescription,{children:["This will permanently delete ",(0,b.jsx)("strong",{children:i})," (",j,"). This action cannot be undone."]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"cleanup-checkbox",checked:m,onCheckedChange:a=>n(!0===a),disabled:h,"aria-label":"Clean up worktree and branches"}),(0,b.jsx)(H.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:"Clean up worktree and branches"})]}),k?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"cascade-delete-checkbox",checked:o,onCheckedChange:a=>p(!0===a),disabled:h,"aria-label":"Delete sub-features"}),(0,b.jsx)(H.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:"Delete sub-features"})]}):null,l?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(G,{id:"close-pr-checkbox",checked:q,onCheckedChange:a=>r(!0===a),disabled:h||!m,"aria-label":"Close pull request"}),(0,b.jsx)(H.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:"Close pull request"})]}):null]}),(0,b.jsxs)(e.AlertDialogFooter,{children:[(0,b.jsx)(e.AlertDialogCancel,{disabled:h,onClick:()=>f(!1),children:"Cancel"}),(0,b.jsx)(e.AlertDialogAction,{variant:"destructive",disabled:h,onClick:()=>g(m,o,!!l&&q),children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Deleting…"]}):"Delete"})]})]})})}a.s(["DeleteFeatureDialog",()=>I],65310),a.s([],77569)},27039,38,12882,25603,a=>{"use strict";var b=a.i(88064),c=a.i(82697),d=a.i(67273),e=a.i(93866),f=a.i(56926),g=a.i(16605),h=a.i(46168),i=a.i(33511);let j={creating:{icon:b.Loader2,borderClass:"border-l-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Creating...",showProgressBar:!1},running:{icon:b.Loader2,borderClass:"border-l-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Running",showProgressBar:!1},"action-required":{icon:c.CircleAlert,borderClass:"border-l-amber-500",labelClass:"text-amber-500",progressClass:"bg-amber-500",badgeClass:"text-amber-700",badgeBgClass:"bg-amber-50",label:"User action required",showProgressBar:!1},done:{icon:d.CircleCheck,borderClass:"border-l-emerald-500",labelClass:"text-emerald-500",progressClass:"bg-emerald-500",badgeClass:"text-emerald-700",badgeBgClass:"bg-emerald-50",label:"Done",showProgressBar:!1},blocked:{icon:e.Ban,borderClass:"border-l-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Blocked",showProgressBar:!1},pending:{icon:h.Clock,borderClass:"border-l-slate-400",labelClass:"text-slate-400",progressClass:"bg-slate-400",badgeClass:"text-slate-600",badgeBgClass:"bg-slate-100",label:"Pending",showProgressBar:!1},error:{icon:f.CircleX,borderClass:"border-l-red-500",labelClass:"text-red-500",progressClass:"bg-red-500",badgeClass:"text-red-700",badgeBgClass:"bg-red-50",label:"Error",showProgressBar:!1},deleting:{icon:g.Trash2,borderClass:"border-l-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Deleting...",showProgressBar:!1},archived:{icon:i.Archive,borderClass:"border-l-gray-500",labelClass:"text-gray-500",progressClass:"bg-gray-500",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Archived",showProgressBar:!1}};a.s(["featureNodeStateConfig",0,j,"lifecycleDisplayLabels",0,{pending:"PENDING",requirements:"REQUIREMENTS",research:"RESEARCH",implementation:"IMPLEMENTATION",review:"REVIEW",awaitingUpstream:"AWAITING UPSTREAM",deploy:"DEPLOY & QA",maintain:"COMPLETED"},"lifecyclePhaseBadge",0,{pending:{letter:"P",bg:"bg-stone-100 dark:bg-stone-800",text:"text-stone-500 dark:text-stone-400",dot:"bg-stone-400",tooltip:"Pending",description:"Waiting to start — the feature is queued and ready to go."},requirements:{letter:"R",bg:"bg-fuchsia-100 dark:bg-fuchsia-900/40",text:"text-fuchsia-600 dark:text-fuchsia-300",dot:"bg-fuchsia-500",tooltip:"Requirements",description:"Gathering what to build — the AI is writing a product requirements document (PRD) based on your request."},research:{letter:"D",bg:"bg-teal-100 dark:bg-teal-900/40",text:"text-teal-600 dark:text-teal-300",dot:"bg-teal-500",tooltip:"Research",description:"Exploring your codebase — the AI is analyzing existing code, patterns, and dependencies to plan the best approach."},implementation:{letter:"I",bg:"bg-indigo-100 dark:bg-indigo-900/40",text:"text-indigo-600 dark:text-indigo-300",dot:"bg-indigo-500",tooltip:"Implementation",description:"Writing code — the AI is implementing the feature, writing tests, and making sure everything compiles."},review:{letter:"M",bg:"bg-orange-100 dark:bg-orange-900/40",text:"text-orange-600 dark:text-orange-300",dot:"bg-orange-500",tooltip:"Merge Review",description:"Ready to merge — the code is complete. Review the changes and approve to merge into your repository."},awaitingUpstream:{letter:"U",bg:"bg-amber-100 dark:bg-amber-900/40",text:"text-amber-600 dark:text-amber-300",dot:"bg-amber-500",tooltip:"Awaiting upstream merge",description:"PR submitted to upstream — waiting for the upstream maintainer to review and merge."},deploy:{letter:"Q",bg:"bg-lime-100 dark:bg-lime-900/40",text:"text-lime-600 dark:text-lime-300",dot:"bg-lime-500",tooltip:"Deploy & QA",description:"Deploying and testing — the feature is being deployed to a preview environment for quality checks."},maintain:{letter:"✓",bg:"bg-emerald-100 dark:bg-emerald-900/40",text:"text-emerald-500 dark:text-emerald-400",dot:"bg-emerald-500",tooltip:"Completed",description:"All done — the feature has been merged and delivered successfully."}},"lifecycleRunningVerbs",0,{pending:"Waiting to start",requirements:"Analyzing",research:"Researching",implementation:"Implementing",review:"Reviewing",awaitingUpstream:"Awaiting upstream",deploy:"Deploying",maintain:"Maintaining"}],27039);var k=a.i(25700);let l=(0,k.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);a.s(["History",()=>l],38);let m=(0,k.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>m],12882);let n=(0,k.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);a.s(["Sparkles",()=>n],25603)},75192,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(17329),h=a.i(66873),i=a.i(63496),j=a.i(48939),k=a.i(58761),l=a.i(51473),m=a.i(59675),n=a.i(5472),o=a.i(75988),p=a.i(80930),q=a.i(14272),r=a.i(77127),s=a.i(90986),t=a.i(79406),u=a.i(16164),v=a.i(45291),w=["Enter"," "],x=["ArrowUp","PageDown","End"],y=["ArrowDown","PageUp","Home",...x],z={ltr:[...w,"ArrowRight"],rtl:[...w,"ArrowLeft"]},A={ltr:["ArrowLeft"],rtl:["ArrowRight"]},B="Menu",[C,D,E]=(0,i.createCollection)(B),[F,G]=(0,f.createContextScope)(B,[E,o.createPopperScope,r.createRovingFocusGroupScope]),H=(0,o.createPopperScope)(),I=(0,r.createRovingFocusGroupScope)(),[J,K]=F(B),[L,M]=F(B),N=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,k=H(d),[l,m]=c.useState(null),n=c.useRef(!1),p=(0,t.useCallbackRef)(h),q=(0,j.useDirection)(g);return c.useEffect(()=>{let a=()=>{n.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>n.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(o.Root,{...k,children:(0,b.jsx)(J,{scope:d,open:e,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(L,{scope:d,onClose:c.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:n,dir:q,modal:i,children:f})})})};N.displayName=B;var O=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=H(d);return(0,b.jsx)(o.Anchor,{...f,...e,ref:c})});O.displayName="MenuAnchor";var P="MenuPortal",[Q,R]=F(P,{forceMount:void 0}),S=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=K(P,c);return(0,b.jsx)(Q,{scope:c,forceMount:d,children:(0,b.jsx)(q.Presence,{present:d||g.open,children:(0,b.jsx)(p.Portal,{asChild:!0,container:f,children:e})})})};S.displayName=P;var T="MenuContent",[U,V]=F(T),W=c.forwardRef((a,c)=>{let d=R(T,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=K(T,a.__scopeMenu),h=M(T,a.__scopeMenu);return(0,b.jsx)(C.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:e||g.open,children:(0,b.jsx)(C.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(X,{...f,ref:c}):(0,b.jsx)(Y,{...f,ref:c})})})})}),X=c.forwardRef((a,f)=>{let g=K(T,a.__scopeMenu),h=c.useRef(null),i=(0,e.useComposedRefs)(f,h);return c.useEffect(()=>{let a=h.current;if(a)return(0,u.hideOthers)(a)},[]),(0,b.jsx)($,{...a,ref:i,trapFocus:g.open,disableOutsidePointerEvents:g.open,disableOutsideScroll:!0,onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>g.onOpenChange(!1)})}),Y=c.forwardRef((a,c)=>{let d=K(T,a.__scopeMenu);return(0,b.jsx)($,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),Z=(0,s.createSlot)("MenuContent.ScrollLock"),$=c.forwardRef((a,f)=>{let{__scopeMenu:g,loop:h=!1,trapFocus:i,onOpenAutoFocus:j,onCloseAutoFocus:n,disableOutsidePointerEvents:p,onEntryFocus:q,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:z,disableOutsideScroll:A,...B}=a,C=K(T,g),E=M(T,g),F=H(g),G=I(g),J=D(g),[L,N]=c.useState(null),O=c.useRef(null),P=(0,e.useComposedRefs)(f,O,C.onContentChange),Q=c.useRef(0),R=c.useRef(""),S=c.useRef(0),V=c.useRef(null),W=c.useRef("right"),X=c.useRef(0),Y=A?v.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(Q.current),[]),(0,l.useFocusGuards)();let $=c.useCallback(a=>{var b,c;return W.current===V.current?.side&&(b=a,!!(c=V.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(U,{scope:g,searchRef:R,onItemEnter:c.useCallback(a=>{$(a)&&a.preventDefault()},[$]),onItemLeave:c.useCallback(a=>{$(a)||(O.current?.focus(),N(null))},[$]),onTriggerLeave:c.useCallback(a=>{$(a)&&a.preventDefault()},[$]),pointerGraceTimerRef:S,onPointerGraceIntentChange:c.useCallback(a=>{V.current=a},[]),children:(0,b.jsx)(Y,{...A?{as:Z,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:(0,d.composeEventHandlers)(j,a=>{a.preventDefault(),O.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:n,children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:z,children:(0,b.jsx)(r.Root,{asChild:!0,...G,dir:E.dir,orientation:"vertical",loop:h,currentTabStopId:L,onCurrentTabStopIdChange:N,onEntryFocus:(0,d.composeEventHandlers)(q,a=>{E.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(o.Content,{role:"menu","aria-orientation":"vertical","data-state":aA(C.open),"data-radix-menu-content":"",dir:E.dir,...F,...B,ref:P,style:{outline:"none",...B.style},onKeyDown:(0,d.composeEventHandlers)(B.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=R.current+e,f=J().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){R.current=b,window.clearTimeout(Q.current),""!==b&&(Q.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=O.current;if(a.target!==f||!y.includes(a.key))return;a.preventDefault();let g=J().filter(a=>!a.disabled).map(a=>a.ref.current);x.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,d.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(Q.current),R.current="")}),onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(a=>{let b=a.target,c=X.current!==a.clientX;a.currentTarget.contains(b)&&c&&(W.current=a.clientX>X.current?"right":"left",X.current=a.clientX)}))})})})})})})});W.displayName=T;var _=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"group",...e,ref:c})});_.displayName="MenuGroup";var aa=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{...e,ref:c})});aa.displayName="MenuLabel";var ab="MenuItem",ac="menu.itemSelect",ad=c.forwardRef((a,f)=>{let{disabled:g=!1,onSelect:i,...j}=a,k=c.useRef(null),l=M(ab,a.__scopeMenu),m=V(ab,a.__scopeMenu),n=(0,e.useComposedRefs)(f,k),o=c.useRef(!1);return(0,b.jsx)(ae,{...j,ref:n,disabled:g,onClick:(0,d.composeEventHandlers)(a.onClick,()=>{let a=k.current;if(!g&&a){let b=new CustomEvent(ac,{bubbles:!0,cancelable:!0});a.addEventListener(ac,a=>i?.(a),{once:!0}),(0,h.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?o.current=!1:l.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),o.current=!0},onPointerUp:(0,d.composeEventHandlers)(a.onPointerUp,a=>{o.current||a.currentTarget?.click()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==m.searchRef.current;g||b&&" "===a.key||w.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});ad.displayName=ab;var ae=c.forwardRef((a,f)=>{let{__scopeMenu:g,disabled:i=!1,textValue:j,...k}=a,l=V(ab,g),m=I(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n),[p,q]=c.useState(!1),[s,t]=c.useState("");return c.useEffect(()=>{let a=n.current;a&&t((a.textContent??"").trim())},[k.children]),(0,b.jsx)(C.ItemSlot,{scope:g,disabled:i,textValue:j??s,children:(0,b.jsx)(r.Item,{asChild:!0,...m,focusable:!i,children:(0,b.jsx)(h.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...k,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(a=>{i?l.onItemLeave(a):(l.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aD(a=>l.onItemLeave(a))),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>q(!0)),onBlur:(0,d.composeEventHandlers)(a.onBlur,()=>q(!1))})})})}),af=c.forwardRef((a,c)=>{let{checked:e=!1,onCheckedChange:f,...g}=a;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:e,children:(0,b.jsx)(ad,{role:"menuitemcheckbox","aria-checked":aB(e)?"mixed":e,...g,ref:c,"data-state":aC(e),onSelect:(0,d.composeEventHandlers)(g.onSelect,()=>f?.(!!aB(e)||!e),{checkForDefaultPrevented:!1})})})});af.displayName="MenuCheckboxItem";var ag="MenuRadioGroup",[ah,ai]=F(ag,{value:void 0,onValueChange:()=>{}}),aj=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,t.useCallbackRef)(e);return(0,b.jsx)(ah,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(_,{...f,ref:c})})});aj.displayName=ag;var ak="MenuRadioItem",al=c.forwardRef((a,c)=>{let{value:e,...f}=a,g=ai(ak,a.__scopeMenu),h=e===g.value;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:h,children:(0,b.jsx)(ad,{role:"menuitemradio","aria-checked":h,...f,ref:c,"data-state":aC(h),onSelect:(0,d.composeEventHandlers)(f.onSelect,()=>g.onValueChange?.(e),{checkForDefaultPrevented:!1})})})});al.displayName=ak;var am="MenuItemIndicator",[an,ao]=F(am,{checked:!1}),ap=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=ao(am,d);return(0,b.jsx)(q.Presence,{present:e||aB(g.checked)||!0===g.checked,children:(0,b.jsx)(h.Primitive.span,{...f,ref:c,"data-state":aC(g.checked)})})});ap.displayName=am;var aq=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aq.displayName="MenuSeparator";var ar=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=H(d);return(0,b.jsx)(o.Arrow,{...f,...e,ref:c})});ar.displayName="MenuArrow";var as="MenuSub",[at,au]=F(as),av=a=>{let{__scopeMenu:d,children:e,open:f=!1,onOpenChange:g}=a,h=K(as,d),i=H(d),[j,k]=c.useState(null),[l,m]=c.useState(null),p=(0,t.useCallbackRef)(g);return c.useEffect(()=>(!1===h.open&&p(!1),()=>p(!1)),[h.open,p]),(0,b.jsx)(o.Root,{...i,children:(0,b.jsx)(J,{scope:d,open:f,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(at,{scope:d,contentId:(0,n.useId)(),triggerId:(0,n.useId)(),trigger:j,onTriggerChange:k,children:e})})})};av.displayName=as;var aw="MenuSubTrigger",ax=c.forwardRef((a,f)=>{let g=K(aw,a.__scopeMenu),h=M(aw,a.__scopeMenu),i=au(aw,a.__scopeMenu),j=V(aw,a.__scopeMenu),k=c.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:m}=j,n={__scopeMenu:a.__scopeMenu},o=c.useCallback(()=>{k.current&&window.clearTimeout(k.current),k.current=null},[]);return c.useEffect(()=>o,[o]),c.useEffect(()=>{let a=l.current;return()=>{window.clearTimeout(a),m(null)}},[l,m]),(0,b.jsx)(O,{asChild:!0,...n,children:(0,b.jsx)(ae,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":i.contentId,"data-state":aA(g.open),...a,ref:(0,e.composeRefs)(f,i.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),g.open||g.onOpenChange(!0))},onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aD(b=>{j.onItemEnter(b),!b.defaultPrevented&&(a.disabled||g.open||k.current||(j.onPointerGraceIntentChange(null),k.current=window.setTimeout(()=>{g.onOpenChange(!0),o()},100)))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aD(a=>{o();let b=g.content?.getBoundingClientRect();if(b){let c=g.content?.dataset.side,d="right"===c,e=b[d?"left":"right"],f=b[d?"right":"left"];j.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:e,y:b.top},{x:f,y:b.top},{x:f,y:b.bottom},{x:e,y:b.bottom}],side:c}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>j.onPointerGraceIntentChange(null),300)}else{if(j.onTriggerLeave(a),a.defaultPrevented)return;j.onPointerGraceIntentChange(null)}})),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==j.searchRef.current;a.disabled||c&&" "===b.key||z[h.dir].includes(b.key)&&(g.onOpenChange(!0),g.content?.focus(),b.preventDefault())})})})});ax.displayName=aw;var ay="MenuSubContent",az=c.forwardRef((a,f)=>{let g=R(T,a.__scopeMenu),{forceMount:h=g.forceMount,...i}=a,j=K(T,a.__scopeMenu),k=M(T,a.__scopeMenu),l=au(ay,a.__scopeMenu),m=c.useRef(null),n=(0,e.useComposedRefs)(f,m);return(0,b.jsx)(C.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:h||j.open,children:(0,b.jsx)(C.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)($,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:n,align:"start",side:"rtl"===k.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{k.isUsingKeyboardRef.current&&m.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==l.trigger&&j.onOpenChange(!1)}),onEscapeKeyDown:(0,d.composeEventHandlers)(a.onEscapeKeyDown,a=>{k.onClose(),a.preventDefault()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=A[k.dir].includes(a.key);b&&c&&(j.onOpenChange(!1),l.trigger?.focus(),a.preventDefault())})})})})})});function aA(a){return a?"open":"closed"}function aB(a){return"indeterminate"===a}function aC(a){return aB(a)?"indeterminate":a?"checked":"unchecked"}function aD(a){return b=>"mouse"===b.pointerType?a(b):void 0}az.displayName=ay;var aE="DropdownMenu",[aF,aG]=(0,f.createContextScope)(aE,[G]),aH=G(),[aI,aJ]=aF(aE),aK=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:h,defaultOpen:i,onOpenChange:j,modal:k=!0}=a,l=aH(d),m=c.useRef(null),[o,p]=(0,g.useControllableState)({prop:h,defaultProp:i??!1,onChange:j,caller:aE});return(0,b.jsx)(aI,{scope:d,triggerId:(0,n.useId)(),triggerRef:m,contentId:(0,n.useId)(),open:o,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(a=>!a),[p]),modal:k,children:(0,b.jsx)(N,{...l,open:o,onOpenChange:p,dir:f,modal:k,children:e})})};aK.displayName=aE;var aL="DropdownMenuTrigger",aM=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:f,disabled:g=!1,...i}=a,j=aJ(aL,f),k=aH(f);return(0,b.jsx)(O,{asChild:!0,...k,children:(0,b.jsx)(h.Primitive.button,{type:"button",id:j.triggerId,"aria-haspopup":"menu","aria-expanded":j.open,"aria-controls":j.open?j.contentId:void 0,"data-state":j.open?"open":"closed","data-disabled":g?"":void 0,disabled:g,...i,ref:(0,e.composeRefs)(c,j.triggerRef),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,a=>{!g&&0===a.button&&!1===a.ctrlKey&&(j.onOpenToggle(),j.open||a.preventDefault())}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{!g&&(["Enter"," "].includes(a.key)&&j.onOpenToggle(),"ArrowDown"===a.key&&j.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});aM.displayName=aL;var aN=a=>{let{__scopeDropdownMenu:c,...d}=a,e=aH(c);return(0,b.jsx)(S,{...e,...d})};aN.displayName="DropdownMenuPortal";var aO="DropdownMenuContent",aP=c.forwardRef((a,e)=>{let{__scopeDropdownMenu:f,...g}=a,h=aJ(aO,f),i=aH(f),j=c.useRef(!1);return(0,b.jsx)(W,{id:h.contentId,"aria-labelledby":h.triggerId,...i,...g,ref:e,onCloseAutoFocus:(0,d.composeEventHandlers)(a.onCloseAutoFocus,a=>{j.current||h.triggerRef.current?.focus(),j.current=!1,a.preventDefault()}),onInteractOutside:(0,d.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!h.modal||d)&&(j.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aP.displayName=aO;var aQ=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(_,{...f,...e,ref:c})});aQ.displayName="DropdownMenuGroup";var aR=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aa,{...f,...e,ref:c})});aR.displayName="DropdownMenuLabel";var aS=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ad,{...f,...e,ref:c})});aS.displayName="DropdownMenuItem";var aT=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(af,{...f,...e,ref:c})});aT.displayName="DropdownMenuCheckboxItem";var aU=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aj,{...f,...e,ref:c})});aU.displayName="DropdownMenuRadioGroup";var aV=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(al,{...f,...e,ref:c})});aV.displayName="DropdownMenuRadioItem";var aW=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ap,{...f,...e,ref:c})});aW.displayName="DropdownMenuItemIndicator";var aX=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(aq,{...f,...e,ref:c})});aX.displayName="DropdownMenuSeparator";var aY=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ar,{...f,...e,ref:c})});aY.displayName="DropdownMenuArrow";var aZ=a=>{let{__scopeDropdownMenu:c,children:d,open:e,onOpenChange:f,defaultOpen:h}=a,i=aH(c),[j,k]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:f,caller:"DropdownMenuSub"});return(0,b.jsx)(av,{...i,open:j,onOpenChange:k,children:d})},a$=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(ax,{...f,...e,ref:c})});a$.displayName="DropdownMenuSubTrigger";var a_=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aH(d);return(0,b.jsx)(az,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});a_.displayName="DropdownMenuSubContent",a.s(["Arrow",()=>aY,"CheckboxItem",()=>aT,"Content",()=>aP,"DropdownMenu",()=>aK,"DropdownMenuArrow",()=>aY,"DropdownMenuCheckboxItem",()=>aT,"DropdownMenuContent",()=>aP,"DropdownMenuGroup",()=>aQ,"DropdownMenuItem",()=>aS,"DropdownMenuItemIndicator",()=>aW,"DropdownMenuLabel",()=>aR,"DropdownMenuPortal",()=>aN,"DropdownMenuRadioGroup",()=>aU,"DropdownMenuRadioItem",()=>aV,"DropdownMenuSeparator",()=>aX,"DropdownMenuSub",()=>aZ,"DropdownMenuSubContent",()=>a_,"DropdownMenuSubTrigger",()=>a$,"DropdownMenuTrigger",()=>aM,"Group",()=>aQ,"Item",()=>aS,"ItemIndicator",()=>aW,"Label",()=>aR,"Portal",()=>aN,"RadioGroup",()=>aU,"RadioItem",()=>aV,"Root",()=>aK,"Separator",()=>aX,"Sub",()=>aZ,"SubContent",()=>a_,"SubTrigger",()=>a$,"Trigger",()=>aM,"createDropdownMenuScope",()=>aG],5310);var a0=a.i(5310),a0=a0,a1=a.i(72016),a2=a.i(3410),a3=a.i(4019),a4=a.i(85536);let a5=a0.Root,a6=a0.Trigger;a0.Group;let a7=a0.Portal,a8=a0.Sub;a0.RadioGroup;let a9=c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(a0.SubTrigger,{ref:f,className:(0,a4.cn)("focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(a2.ChevronRight,{className:"ml-auto"})]}));a9.displayName=a0.SubTrigger.displayName;let ba=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(a0.SubContent,{ref:d,className:(0,a4.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",a),...c}));ba.displayName=a0.SubContent.displayName;let bb=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(a0.Portal,{children:(0,b.jsx)(a0.Content,{ref:e,sideOffset:c,className:(0,a4.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",a),...d})}));bb.displayName=a0.Content.displayName;let bc=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(a0.Item,{ref:e,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",c&&"pl-8",a),...d}));bc.displayName=a0.Item.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(a0.CheckboxItem,{ref:f,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(a0.ItemIndicator,{children:(0,b.jsx)(a1.Check,{className:"h-4 w-4"})})}),c]})).displayName=a0.CheckboxItem.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(a0.RadioItem,{ref:e,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(a0.ItemIndicator,{children:(0,b.jsx)(a3.Circle,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=a0.RadioItem.displayName;let bd=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(a0.Label,{ref:e,className:(0,a4.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d}));bd.displayName=a0.Label.displayName;let be=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(a0.Separator,{ref:d,className:(0,a4.cn)("bg-muted -mx-1 my-1 h-px",a),...c}));be.displayName=a0.Separator.displayName,a.s(["DropdownMenu",()=>a5,"DropdownMenuContent",()=>bb,"DropdownMenuItem",()=>bc,"DropdownMenuLabel",()=>bd,"DropdownMenuPortal",()=>a7,"DropdownMenuSeparator",()=>be,"DropdownMenuSub",()=>a8,"DropdownMenuSubContent",()=>ba,"DropdownMenuSubTrigger",()=>a9,"DropdownMenuTrigger",()=>a6],75192)},54250,61583,1330,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(84945),e=a.i(60047),f=a.i(67837),g=a.i(16605),h=a.i(3942),i=a.i(69428),j=a.i(88064),k=a.i(84494),l=a.i(18615),m=a.i(50490),n=a.i(5698),o=a.i(83886),p=a.i(33511),q=a.i(1585),r=a.i(85536),s=a.i(5623),t=a.i(18948),u=a.i(82934),v=a.i(18662),w=a.i(21333),x=a.i(3703);a.i(77569);var y=a.i(65310),z=a.i(27039),A=a.i(17606),B=a.i(38),C=a.i(98410),D=a.i(71238),E=a.i(63698),F=a.i(12882),G=a.i(46168),H=a.i(71716),I=a.i(25603),J=a.i(75192),K=a.i(43707);async function L(a){try{await navigator.clipboard.writeText(a)}catch{let b=document.createElement("textarea");b.value=a,b.style.position="fixed",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}}function M(a){a.stopPropagation()}function N({repositoryPath:a,className:d,onCreateFromSession:e}){let[f,g]=(0,c.useState)(!1),{getSessionsForPath:h,hasActiveSessions:i}=(0,K.useSessionsContext)(),j=h(a),k=i(a),l=(0,c.useCallback)(a=>{a||g(!1)},[]),m=f?j:j.slice(0,3),n=j.length>3;return(0,b.jsxs)(J.DropdownMenu,{modal:!1,onOpenChange:l,children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(J.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button","aria-label":"View sessions","data-testid":"feature-node-sessions-button",className:(0,r.cn)("nodrag relative flex h-5 cursor-pointer items-center gap-0.5 rounded px-0.5 text-[10px] transition-colors","text-muted-foreground hover:text-foreground hover:bg-muted",d),onClick:M,onPointerDown:M,children:[(0,b.jsx)(B.History,{className:"h-3 w-3 shrink-0"}),j.length>0?(0,b.jsx)("span",{"data-testid":"feature-node-sessions-count",children:j.length}):null,k?(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-emerald-500"}):null]})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:k?"Sessions (active)":"Sessions"})]})}),(0,b.jsxs)(J.DropdownMenuContent,{align:"start",side:"bottom",className:"w-80",onClick:M,onPointerDown:M,children:[(0,b.jsxs)(J.DropdownMenuLabel,{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(B.History,{className:"h-3 w-3"}),"Agent Sessions"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),0===j.length?(0,b.jsx)("div",{className:"text-muted-foreground py-4 text-center text-xs",children:"No sessions found"}):(0,b.jsxs)(b.Fragment,{children:[m.map(c=>(0,b.jsx)(O,{session:c,repositoryPath:a,onCreateFromSession:e},c.id)),n?(0,b.jsxs)(J.DropdownMenuItem,{className:"text-muted-foreground justify-center gap-1 py-1.5 text-[10px]",onClick:a=>{a.preventDefault(),g(a=>!a)},children:[(0,b.jsx)(H.ChevronDown,{className:(0,r.cn)("h-3 w-3 transition-transform",f&&"rotate-180")}),f?"Show less":`Show ${j.length-3} more`]}):null]})]})]})}function O({session:a,repositoryPath:c,onCreateFromSession:d}){let e,f,g,h,i,j=!!a.lastMessageAt&&Date.now()-new Date(a.lastMessageAt).getTime()<3e5,k=(0,A.getAgentTypeIcon)(a.agentType);return(0,b.jsxs)(J.DropdownMenuSub,{children:[(0,b.jsxs)(J.DropdownMenuSubTrigger,{className:"flex items-start gap-2 py-2 pr-2",children:[(0,b.jsxs)("div",{className:"relative mt-0.5 shrink-0",children:[(0,b.jsx)(k,{className:"h-4 w-4"}),j?(0,b.jsx)("span",{className:"border-background absolute -right-0.5 -bottom-0.5 h-2 w-2 rounded-full border bg-emerald-500"}):null]}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"truncate text-xs leading-tight",children:function(a,b=40){return a?a.length<=b?a:`${a.slice(0,b)}...`:"No preview"}(a.preview)}),(0,b.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2 text-[10px] leading-tight",children:[(0,b.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,b.jsx)(F.MessageSquare,{className:"h-2.5 w-2.5"}),a.messageCount]}),a.firstMessageAt?(0,b.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,b.jsx)(G.Clock,{className:"h-2.5 w-2.5"}),new Date(a.firstMessageAt).toLocaleDateString()]}):null,a.lastMessageAt?(0,b.jsx)("span",{className:(0,r.cn)("ml-auto shrink-0",j?"font-medium text-emerald-600":""),children:(e=new Date(a.lastMessageAt),g=Math.floor((f=new Date().getTime()-e.getTime())/6e4),h=Math.floor(f/36e5),i=Math.floor(f/864e5),g<1?"just now":g<60?`${g}m ago`:h<24?`${h}h ago`:i<7?`${i}d ago`:e.toLocaleDateString())}):null]})]})]}),(0,b.jsx)(J.DropdownMenuPortal,{children:(0,b.jsxs)(J.DropdownMenuSubContent,{onClick:M,onPointerDown:M,children:[(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void L(`claude --resume ${a.id} --project ${c}`),children:[(0,b.jsx)(E.Terminal,{className:"h-3.5 w-3.5"}),"Copy resume command"]}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void L(a.id),children:[(0,b.jsx)(C.Copy,{className:"h-3.5 w-3.5"}),"Copy session ID"]}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>{let a=`vscode://file${c}`;window.open(a,"_blank")},children:[(0,b.jsx)(D.ExternalLink,{className:"h-3.5 w-3.5"}),"Open in IDE"]}),d&&a.filePath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{className:"gap-2 text-xs font-medium text-violet-700 focus:bg-violet-50 focus:text-violet-800",onClick:()=>d(a,a.filePath),children:[(0,b.jsx)(I.Sparkles,{className:"h-3.5 w-3.5 text-violet-500"}),"Create feature from session"]})]}):null]})})]})}function P({agentType:a,className:c}){let d=(0,A.getAgentTypeIcon)(a);return(0,b.jsx)(d,{className:c})}function Q(a){return z.featureNodeStateConfig[a.state].icon}function R(a){return"requirements"===a.lifecycle?"Review Requirements":"implementation"===a.lifecycle?"Review Technical Plan":"review"===a.lifecycle?"Review Changes":"Review"}function S(a){let b=z.featureNodeStateConfig[a.state];switch(a.state){case"creating":return"Creating...";case"running":return z.lifecycleRunningVerbs[a.lifecycle];case"done":return a.runtime?`Completed in ${a.runtime}`:"Completed";case"blocked":return a.blockedBy?`Waiting on ${a.blockedBy}`:"Blocked";case"pending":return"Pending";case"action-required":return R(a);case"error":return a.errorMessage??"Something went wrong";default:return b.label}}function T({data:a,selected:A}){let B,C,D,E=z.featureNodeStateConfig[a.state],F=E.icon,[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(!1),M=(0,w.useFeatureFlags)().envDeploy&&a.repositoryPath&&a.branch?{targetId:a.featureId,targetType:"feature",repositoryPath:a.repositoryPath,branch:a.branch}:null,O=(0,v.useDeployAction)(M),T="Booting"===O.status||"Ready"===O.status,U="Ready"===O.status;return(0,b.jsxs)("div",{className:"animate-in fade-in group relative duration-300",children:[a.showHandles?(0,b.jsx)(d.Handle,{type:"target",position:e.Position.Left,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null,(0,b.jsx)("div",{className:"absolute top-0 bottom-0 -left-14 flex items-center justify-center pr-3 pl-4 opacity-0 transition-opacity group-hover:opacity-100",onPointerDown:a=>a.stopPropagation(),children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[a.onArchive&&a.featureId&&"deleting"!==a.state&&"archived"!==a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Archive feature","data-testid":"feature-node-archive-button",onClick:a=>{a.stopPropagation(),L(!0)},className:"bg-card text-muted-foreground flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors hover:border-gray-500 hover:text-gray-600",children:(0,b.jsx)(p.Archive,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Archive feature"})]})}):null,a.onDelete&&a.featureId&&"deleting"!==a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Delete feature","data-testid":"feature-node-delete-button",onClick:a=>{a.stopPropagation(),H(!0)},className:"bg-card text-muted-foreground hover:border-destructive hover:text-destructive flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,b.jsx)(g.Trash2,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Delete feature"})]})}):null,a.onUnarchive&&a.featureId&&"archived"===a.state?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{"aria-label":"Unarchive feature","data-testid":"feature-node-unarchive-button",onClick:b=>{b.stopPropagation(),a.onUnarchive?.(a.featureId)},className:"bg-card text-muted-foreground hover:border-primary hover:text-primary flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,b.jsx)(q.ArchiveRestore,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"left",children:"Unarchive feature"})]})}):null]})}),a.onDelete&&a.featureId&&"deleting"!==a.state?(0,b.jsx)(y.DeleteFeatureDialog,{open:G,onOpenChange:H,onConfirm:(b,c,d)=>{H(!1),a.onDelete?.(a.featureId,b,c,d)},isDeleting:!1,featureName:a.name??"this feature",featureId:a.featureId,hasChildren:a.hasChildren,hasOpenPr:!!a.pr&&"Open"===a.pr.status}):null,a.onArchive&&a.featureId&&"deleting"!==a.state&&"archived"!==a.state?(0,b.jsx)(x.AlertDialog,{open:K,onOpenChange:L,children:(0,b.jsxs)(x.AlertDialogContent,{onCloseAutoFocus:a=>a.preventDefault(),children:[(0,b.jsxs)(x.AlertDialogHeader,{children:[(0,b.jsx)(x.AlertDialogTitle,{children:"Archive feature?"}),(0,b.jsxs)(x.AlertDialogDescription,{children:[(0,b.jsx)("strong",{children:a.name})," will be hidden from the canvas. You can unarchive it later to restore it."]})]}),(0,b.jsxs)(x.AlertDialogFooter,{children:[(0,b.jsx)(x.AlertDialogCancel,{onClick:()=>L(!1),children:"Cancel"}),(0,b.jsx)(x.AlertDialogAction,{onClick:()=>{L(!1),a.onArchive?.(a.featureId)},children:"Archive"})]})]})}):null,(0,b.jsxs)("div",{"data-testid":"feature-node-card","aria-busy":"creating"===a.state||"deleting"===a.state?"true":void 0,className:(0,r.cn)("bg-card flex min-h-35 w-97 cursor-pointer flex-col rounded-lg border p-3 shadow-sm transition-[border-color] duration-200 dark:bg-neutral-800/80","action-required"===a.state&&"border-l-[3px] border-l-rose-400 dark:border-l-amber-500","action-required"===a.state&&A&&"border-t-rose-400 border-r-rose-400 border-b-rose-400 dark:border-t-amber-500 dark:border-r-amber-500 dark:border-b-amber-500",A&&"action-required"!==a.state&&"border-blue-400 dark:border-amber-500/60","deleting"===a.state&&"opacity-60","archived"===a.state&&"opacity-50"),children:["creating"!==a.state?(0,b.jsx)("div",{className:"absolute top-3 right-4",children:(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("span",{"data-testid":"feature-node-phase-badge",className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:z.lifecyclePhaseBadge[a.lifecycle].tooltip}),(0,b.jsx)("span",{className:(0,r.cn)("h-1.5 w-1.5 -translate-y-px rounded-full",z.lifecyclePhaseBadge[a.lifecycle].dot)})]})}),(0,b.jsxs)(u.TooltipContent,{side:"right",className:"max-w-56",children:[(0,b.jsx)("p",{className:"font-semibold",children:z.lifecyclePhaseBadge[a.lifecycle].tooltip}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-neutral-500",children:z.lifecyclePhaseBadge[a.lifecycle].description})]})]})})}):null,(0,b.jsxs)("div",{className:"flex items-center gap-1.5 pr-24",children:[a.agentType?(0,b.jsx)(P,{agentType:a.agentType,className:"h-4 w-4 shrink-0"}):null,(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{"data-testid":"feature-node-fast-mode-badge",className:"shrink-0",children:a.fastMode?(0,b.jsx)(h.Zap,{className:"h-3.5 w-3.5 text-amber-500"}):(0,b.jsx)(i.ClipboardList,{className:"h-3.5 w-3.5 text-indigo-500"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:a.fastMode?"Fast Mode":"Spec Driven"})]})}),(0,b.jsx)("h3",{className:"min-w-0 truncate text-sm font-bold",children:a.name})]}),a.description?(0,b.jsx)("p",{"data-testid":"feature-node-description",className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:a.description}):null,(0,b.jsxs)("div",{className:"mt-auto pt-2",children:[E.showProgressBar?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"text-muted-foreground flex items-center justify-end text-[10px]",children:(0,b.jsxs)("span",{children:[a.progress,"%"]})}),(0,b.jsx)("div",{"data-testid":"feature-node-progress-bar",className:"bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full",children:(0,b.jsx)("div",{className:(0,r.cn)("h-full rounded-full transition-all",E.progressClass),style:{width:`${a.progress}%`}})})]}):null,E.showProgressBar||["deleting","creating","running","done","action-required","pending","blocked"].includes(a.state)?null:(0,b.jsxs)("div",{"data-testid":"feature-node-badge",className:"relative flex min-w-0 items-center gap-1.5 text-xs",children:[(B=Q(a),(0,b.jsx)(B,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("translate-y-px truncate text-[11px] font-medium",E.badgeClass),children:S(a)})]}),(0,b.jsxs)("div",{className:"mt-1.5 flex min-h-[26px] items-center justify-between gap-2",style:{transform:"translateY(1px)"},children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[a.featureId?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","data-testid":"feature-node-id",className:"nodrag text-muted-foreground/60 hover:text-muted-foreground flex shrink-0 cursor-pointer items-baseline gap-1 font-mono text-[10px] transition-colors active:scale-95",onClick:b=>{b.stopPropagation(),navigator.clipboard.writeText(a.featureId),J(!0),setTimeout(()=>J(!1),1500)},children:I?(0,b.jsx)("span",{className:"text-emerald-500",children:"Copied!"}):a.featureId.slice(0,6)})}),(0,b.jsxs)(u.TooltipContent,{side:"top",children:["Click to copy: ",a.featureId]})]})}):null,a.worktreePath??a.repositoryPath?(0,b.jsx)(N,{repositoryPath:a.worktreePath??a.repositoryPath}):null,M&&"deleting"!==a.state&&"creating"!==a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"bg-border h-3 w-px shrink-0"}),U?(0,b.jsxs)("span",{className:"group/deploy nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Stop Dev Server",className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors",onClick:a=>{a.stopPropagation(),O.stop()},children:O.stopLoading?(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 animate-spin text-red-500"}):(0,b.jsxs)("span",{className:"relative h-3.5 w-3.5",children:[(0,b.jsx)(k.Globe,{className:"absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400"}),(0,b.jsx)(n.Square,{className:"absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400"})]})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"Stop Dev Server"})]})}),O.url?(0,b.jsx)("a",{href:O.url,target:"_blank",rel:"noopener noreferrer","data-testid":"feature-node-deployment-indicator",className:"nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400",onClick:a=>a.stopPropagation(),children:O.url}):null]}):T?(0,b.jsxs)("span",{className:"nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Stop Dev Server",className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300",onClick:a=>{a.stopPropagation(),O.stop()},children:O.stopLoading?(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Square,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"Stop Dev Server"})]})}),(0,b.jsx)("span",{className:"text-muted-foreground animate-pulse text-[10px]",children:"Starting…"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:(0,r.cn)("nodrag flex shrink-0 items-center",!O.deployError&&"[&_button]:text-green-600 [&_button]:hover:text-green-700 dark:[&_button]:text-green-400 dark:[&_button]:hover:text-green-300"),"data-testid":"feature-node-deploy-button",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(s.ActionButton,{label:O.deployError?"Retry":"Start Dev Server",onClick:O.deploy,loading:O.deployLoading,error:!1,icon:O.deployError?l.RotateCcw:m.Play,iconOnly:!0,variant:"ghost",size:"icon-xs"})})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:O.deployError?"Retry Dev Server":"Start Dev Server"})]})}),O.deployError?(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"min-w-0 truncate text-[10px] text-red-500",children:"Failed"})}),(0,b.jsx)(u.TooltipContent,{side:"top",className:"max-w-64",children:(0,b.jsx)("p",{className:"text-xs",children:O.deployError})})]})}):null]})]}):null]}),"deleting"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Deleting…"})]}):"creating"===a.state||"running"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)(F,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400"}),(0,b.jsx)("span",{className:"font-medium text-teal-600 dark:text-teal-400",children:S(a)})]}):"action-required"===a.state?(0,b.jsxs)(t.Button,{variant:"default",size:"xs","aria-label":R(a),"data-testid":"feature-node-approve-button",onClick:()=>{},className:"nodrag dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90 cursor-pointer bg-neutral-900 text-[11px] text-white hover:bg-neutral-800",children:[(0,b.jsx)(o.Eye,{className:"h-3 w-3"}),R(a)]}):"error"===a.state&&a.onRetry?(0,b.jsxs)(t.Button,{variant:"outline",size:"xs","aria-label":"Retry","data-testid":"feature-node-retry-button",onClick:b=>{b.stopPropagation(),a.onRetry(a.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,b.jsx)(l.RotateCcw,{className:"h-3 w-3"}),"Retry"]}):"blocked"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(C=Q(a),(0,b.jsx)(C,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("truncate text-[11px] font-medium",E.badgeClass),children:S(a)})]}):"done"===a.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(D=Q(a),(0,b.jsx)(D,{className:(0,r.cn)("h-3.5 w-3.5 shrink-0",E.badgeClass)})),(0,b.jsx)("span",{className:(0,r.cn)("text-[11px] font-medium",E.badgeClass),children:S(a)})]}):"pending"===a.state&&a.onStart?(0,b.jsxs)(t.Button,{variant:"outline",size:"xs","aria-label":"Start","data-testid":"feature-node-start-button",onClick:b=>{b.stopPropagation(),a.onStart(a.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,b.jsx)(m.Play,{className:"h-3 w-3"}),"Start"]}):null]})]})]}),a.onAction&&"deleting"!==a.state?(0,b.jsx)(d.Handle,{type:"source",position:e.Position.Right,className:"h-0! w-0! border-0! bg-transparent!",style:{top:70},children:(0,b.jsx)(u.TooltipProvider,{children:(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"Add feature","data-testid":"feature-node-action-button",onClick:b=>{b.stopPropagation(),a.onAction?.()},className:"nodrag absolute top-1/2 left-1/2 flex h-6 w-6 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-blue-500 text-white opacity-0 shadow-md transition-opacity group-hover:opacity-100 hover:bg-blue-600",children:(0,b.jsx)(f.Plus,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(u.TooltipContent,{side:"right",children:"Add feature"})]})})}):a.showHandles?(0,b.jsx)(d.Handle,{type:"source",position:e.Position.Right,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null]})}a.s(["FeatureSessionsDropdown",()=>N],61583),a.s(["FeatureNode",()=>T],1330),a.s([],54250)},92548,a=>{"use strict";let b=(0,a.i(25700).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);a.s(["GitCommitHorizontal",()=>b],92548)},45449,a=>{"use strict";let b=(0,a.i(25700).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>b],45449)},91498,a=>{"use strict";let b=(0,a.i(25700).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],91498)},30784,76080,74146,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("40732ca7b492dd1909a064254551f03ebc5206d162",b.callServer,void 0,b.findSourceMapURL,"resumeFeature");a.s(["resumeFeature",()=>c],30784);let d=(0,b.createServerReference)("4088b76904923a43d1ce547178de9057c773bb4386",b.callServer,void 0,b.findSourceMapURL,"startFeature");a.s(["startFeature",()=>d],76080);var e=a.i(46847);function f(a){switch(a){case e.NotificationEventType.AgentStarted:case e.NotificationEventType.PhaseCompleted:return"running";case e.NotificationEventType.WaitingApproval:return"action-required";case e.NotificationEventType.AgentCompleted:return"done";case e.NotificationEventType.AgentFailed:case e.NotificationEventType.PrChecksFailed:return"error";case e.NotificationEventType.PrMerged:case e.NotificationEventType.PrChecksPassed:return"done";case e.NotificationEventType.PrClosed:return"action-required";case e.NotificationEventType.PrBlocked:return"blocked";case e.NotificationEventType.MergeReviewReady:return"action-required"}}let g={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review",maintain:"maintain",blocked:"requirements",pending:"pending",archived:"maintain"};function h(a){let b=new Set(a.filter(a=>a.eventType===e.NotificationEventType.WaitingApproval).map(a=>a.featureId));return a.map(a=>{let c=a.eventType===e.NotificationEventType.PhaseCompleted&&b.has(a.featureId);return{featureId:a.featureId,state:c?void 0:f(a.eventType),lifecycle:c?void 0:function(a){if(a)return g[a]}(a.phaseName),eventType:a.eventType,phaseName:a.phaseName}})}a.s(["mapEventTypeToState",()=>f,"resolveSseEventUpdates",()=>h],74146)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=_2b873e3b._.js.map
|