From 8645b26c517bb0c74b883deb917327449249a438 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 15 Aug 2026 00:01:34 +0000 Subject: [PATCH 1/3] Overhaul the Loadpath UI to a standard desktop app shell. Icon rail, labeled toolbar, merge-box confidence, collapsible brief sections, graph legend and node inspector, grouped settings, and keyboard shortcuts. Keep existing test ids, twelve themes, and the load-path reviewer layout. Co-authored-by: Damon --- README.md | 2 +- ...{index-DF6aw0I2.css => index-B8NciQ8z.css} | 2 +- src/loadpath/static/assets/index-CYVEhMj3.js | 63 + src/loadpath/static/assets/index-Dmb_oKHM.js | 62 - src/loadpath/static/index.html | 6 +- ui/index.html | 2 + ui/src/App.tsx | 1054 +++++++++++------ ui/src/ImpactGraph.tsx | 76 +- ui/src/format.test.ts | 16 + ui/src/format.ts | 18 + ui/src/icons.tsx | 74 ++ ui/src/styles.css | 492 ++++++-- ui/src/themes.test.ts | 4 +- ui/src/themes.ts | 5 + ui/src/types.ts | 2 +- 15 files changed, 1327 insertions(+), 551 deletions(-) rename src/loadpath/static/assets/{index-DF6aw0I2.css => index-B8NciQ8z.css} (65%) create mode 100644 src/loadpath/static/assets/index-CYVEhMj3.js delete mode 100644 src/loadpath/static/assets/index-Dmb_oKHM.js create mode 100644 ui/src/format.test.ts create mode 100644 ui/src/format.ts create mode 100644 ui/src/icons.tsx diff --git a/README.md b/README.md index c68f7a9..0469ce5 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ plus the jobs the view enqueues (`send_invoice_email.delay`, `rebuild_ledger.sen ## App -`loadpath serve --port 7345` opens a local desktop-style UI. Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. The rail and Settings page ship a dozen themes (Obsidian, Nord, Solarized, Paper, high-contrast, …); the choice stays in `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. +`loadpath serve --port 7345` opens a local desktop-style UI: icon rail, labeled toolbar, merge-box confidence, and an inspectable impact graph. Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. A dozen themes (Obsidian, Nord, Solarized, Paper, high-contrast, …) live in Settings and `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. Keyboard: `1`–`5` switches tabs, `⌘`/`Ctrl`+`Enter` runs a review. ### Review diff --git a/src/loadpath/static/assets/index-DF6aw0I2.css b/src/loadpath/static/assets/index-B8NciQ8z.css similarity index 65% rename from src/loadpath/static/assets/index-DF6aw0I2.css rename to src/loadpath/static/assets/index-B8NciQ8z.css index 13e595f..88c9507 100644 --- a/src/loadpath/static/assets/index-DF6aw0I2.css +++ b/src/loadpath/static/assets/index-B8NciQ8z.css @@ -1 +1 @@ -.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root,[data-theme=obsidian]{--bg: #070b10;--bg-2: #0d141c;--surface: #121a24;--line: #1e2c3c;--ink: #e7eef6;--muted: #8b9bb0;--high: #2a9d8f;--medium: #e9c46a;--low: #e76f51;--critical: #e85d04;--accent: #4cc9f0;--rail-from: #0b1219;--rail-to: #070b10;--rail-active: #15202c;--btn: #173044;--btn-line: #24506c;--btn-primary: #134e4a;--btn-primary-line: #2a9d8f;--node-bg: #101822;--node-line: #2a3d52;--graph-bg: #070b10;--graph-grid: rgba(42, 80, 120, .09);--edge-cheap: #4a5568;--edge-expensive: #f4a261;--edge-critical: #e85d04;--shadow: rgba(76, 201, 240, .08)}[data-theme=nord]{--bg: #2e3440;--bg-2: #3b4252;--surface: #434c5e;--line: #4c566a;--ink: #eceff4;--muted: #d8dee9;--high: #a3be8c;--medium: #ebcb8b;--low: #bf616a;--critical: #d08770;--accent: #88c0d0;--rail-from: #3b4252;--rail-to: #2e3440;--rail-active: #4c566a;--btn: #434c5e;--btn-line: #81a1c1;--btn-primary: #5e81ac;--btn-primary-line: #88c0d0;--node-bg: #3b4252;--node-line: #81a1c1;--graph-bg: #2e3440;--graph-grid: rgba(136, 192, 208, .12);--edge-cheap: #4c566a;--edge-expensive: #d08770;--edge-critical: #bf616a;--shadow: rgba(136, 192, 208, .12)}[data-theme=solarized-dark]{--bg: #002b36;--bg-2: #073642;--surface: #0a3944;--line: #16444f;--ink: #eee8d5;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #2aa198;--rail-from: #073642;--rail-to: #002b36;--rail-active: #16444f;--btn: #073642;--btn-line: #268bd2;--btn-primary: #0a4a42;--btn-primary-line: #2aa198;--node-bg: #073642;--node-line: #268bd2;--graph-bg: #002b36;--graph-grid: rgba(42, 161, 152, .12);--edge-cheap: #586e75;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(42, 161, 152, .12)}[data-theme=forest]{--bg: #0e1510;--bg-2: #152019;--surface: #1b2a20;--line: #2c4334;--ink: #e4f0e6;--muted: #8eaa96;--high: #6ab04c;--medium: #c8a951;--low: #e17055;--critical: #d35400;--accent: #7bed9f;--rail-from: #152019;--rail-to: #0e1510;--rail-active: #1f3326;--btn: #1f3326;--btn-line: #3d6b4f;--btn-primary: #1e4d32;--btn-primary-line: #6ab04c;--node-bg: #16241b;--node-line: #3d6b4f;--graph-bg: #0e1510;--graph-grid: rgba(123, 237, 159, .1);--edge-cheap: #3d6b4f;--edge-expensive: #c8a951;--edge-critical: #d35400;--shadow: rgba(123, 237, 159, .1)}[data-theme=rose]{--bg: #191724;--bg-2: #1f1d2e;--surface: #26233a;--line: #403d52;--ink: #e0def4;--muted: #908caa;--high: #9ccfd8;--medium: #f6c177;--low: #eb6f92;--critical: #eb6f92;--accent: #c4a7e7;--rail-from: #1f1d2e;--rail-to: #191724;--rail-active: #26233a;--btn: #26233a;--btn-line: #c4a7e7;--btn-primary: #3a2f4d;--btn-primary-line: #c4a7e7;--node-bg: #1f1d2e;--node-line: #524f67;--graph-bg: #191724;--graph-grid: rgba(196, 167, 231, .12);--edge-cheap: #524f67;--edge-expensive: #f6c177;--edge-critical: #eb6f92;--shadow: rgba(196, 167, 231, .12)}[data-theme=amber]{--bg: #120e0a;--bg-2: #1c1610;--surface: #261e16;--line: #3d2f22;--ink: #f4e6d0;--muted: #b59a78;--high: #c4d6a0;--medium: #e9b44c;--low: #d8572a;--critical: #c0392b;--accent: #f0a05a;--rail-from: #1c1610;--rail-to: #120e0a;--rail-active: #2b2218;--btn: #2b2218;--btn-line: #8a5a2b;--btn-primary: #4a3418;--btn-primary-line: #f0a05a;--node-bg: #1c1610;--node-line: #8a5a2b;--graph-bg: #120e0a;--graph-grid: rgba(240, 160, 90, .12);--edge-cheap: #5c4a38;--edge-expensive: #e9b44c;--edge-critical: #d8572a;--shadow: rgba(240, 160, 90, .12)}[data-theme=volcano]{--bg: #14090a;--bg-2: #1e0e10;--surface: #2a1416;--line: #4a2226;--ink: #fde8e4;--muted: #c48b86;--high: #7bed9f;--medium: #f6c90e;--low: #ff6b6b;--critical: #ff3b3b;--accent: #ff7b54;--rail-from: #1e0e10;--rail-to: #14090a;--rail-active: #32181b;--btn: #32181b;--btn-line: #ff7b54;--btn-primary: #5a1f18;--btn-primary-line: #ff7b54;--node-bg: #1e0e10;--node-line: #7a3330;--graph-bg: #14090a;--graph-grid: rgba(255, 123, 84, .12);--edge-cheap: #5a3330;--edge-expensive: #ff7b54;--edge-critical: #ff3b3b;--shadow: rgba(255, 123, 84, .14)}[data-theme=lavender]{--bg: #12101c;--bg-2: #1a1730;--surface: #221e3c;--line: #3b3560;--ink: #efeaff;--muted: #b3a7d6;--high: #80ffdb;--medium: #ffd166;--low: #ff6b9d;--critical: #ff4d6d;--accent: #c77dff;--rail-from: #1a1730;--rail-to: #12101c;--rail-active: #2a2550;--btn: #2a2550;--btn-line: #c77dff;--btn-primary: #3d2a66;--btn-primary-line: #c77dff;--node-bg: #1a1730;--node-line: #5a4d8a;--graph-bg: #12101c;--graph-grid: rgba(199, 125, 255, .12);--edge-cheap: #5a4d8a;--edge-expensive: #ffd166;--edge-critical: #ff4d6d;--shadow: rgba(199, 125, 255, .14)}[data-theme=paper]{--bg: #f6f1e8;--bg-2: #efe6d6;--surface: #fffaf2;--line: #d9cbb6;--ink: #2b241c;--muted: #6f6456;--high: #2a7a4b;--medium: #b5811a;--low: #c0392b;--critical: #a93226;--accent: #1d6a7a;--rail-from: #efe6d6;--rail-to: #e7dcc8;--rail-active: #e2d3bb;--btn: #fffaf2;--btn-line: #c9b79a;--btn-primary: #d7eee0;--btn-primary-line: #2a7a4b;--node-bg: #fffaf2;--node-line: #c9b79a;--graph-bg: #f6f1e8;--graph-grid: rgba(29, 106, 122, .1);--edge-cheap: #b7a48c;--edge-expensive: #c0392b;--edge-critical: #a93226;--shadow: rgba(43, 36, 28, .08)}[data-theme=solarized-light]{--bg: #fdf6e3;--bg-2: #eee8d5;--surface: #f5efdc;--line: #d6cba9;--ink: #657b83;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #268bd2;--rail-from: #eee8d5;--rail-to: #e6dfc8;--rail-active: #e0d9c0;--btn: #fdf6e3;--btn-line: #93a1a1;--btn-primary: #e8efc8;--btn-primary-line: #859900;--node-bg: #fdf6e3;--node-line: #93a1a1;--graph-bg: #fdf6e3;--graph-grid: rgba(38, 139, 210, .12);--edge-cheap: #93a1a1;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(101, 123, 131, .1)}[data-theme=seafoam]{--bg: #eef7f4;--bg-2: #dff0ea;--surface: #ffffff;--line: #b7d5cc;--ink: #17332c;--muted: #4d7268;--high: #1b8a5a;--medium: #c48a14;--low: #c44536;--critical: #9b2d22;--accent: #1d9a8a;--rail-from: #dff0ea;--rail-to: #cfe6de;--rail-active: #c4ddd4;--btn: #ffffff;--btn-line: #8fbfb2;--btn-primary: #d4f0e4;--btn-primary-line: #1b8a5a;--node-bg: #ffffff;--node-line: #8fbfb2;--graph-bg: #eef7f4;--graph-grid: rgba(29, 154, 138, .12);--edge-cheap: #8fbfb2;--edge-expensive: #c48a14;--edge-critical: #c44536;--shadow: rgba(23, 51, 44, .08)}[data-theme=high-contrast]{--bg: #ffffff;--bg-2: #f2f2f2;--surface: #ffffff;--line: #111111;--ink: #000000;--muted: #222222;--high: #007a33;--medium: #8a5a00;--low: #b00000;--critical: #9b0000;--accent: #0033cc;--rail-from: #f2f2f2;--rail-to: #e6e6e6;--rail-active: #d9d9d9;--btn: #ffffff;--btn-line: #000000;--btn-primary: #d9f2e3;--btn-primary-line: #007a33;--node-bg: #ffffff;--node-line: #000000;--graph-bg: #ffffff;--graph-grid: rgba(0, 0, 0, .12);--edge-cheap: #444444;--edge-expensive: #8a5a00;--edge-critical: #b00000;--shadow: rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,Segoe UI,sans-serif}button,input,select,textarea{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:220px 1fr;height:100%}.rail{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--rail-from),var(--rail-to));padding:20px 14px;display:flex;flex-direction:column;gap:6px}.brand{font-family:IBM Plex Mono,monospace;letter-spacing:.18em;font-size:12px;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.rail button,.tab{background:transparent;border:0;text-align:left;padding:8px 10px;border-radius:6px;color:var(--muted);cursor:pointer}.rail button.active,.tab.active{background:var(--rail-active);color:var(--ink)}.theme-pick{margin-top:10px;display:grid;gap:4px}.theme-pick label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.theme-pick select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2)}.topbar input,.topbar select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:160px}.topbar input.path{flex:1}.topbar button,.btn{background:var(--btn);border:1px solid var(--btn-line);border-radius:6px;padding:8px 12px;cursor:pointer}.btn.primary{background:var(--btn-primary);border-color:var(--btn-primary-line)}.content{flex:1;min-height:0;display:grid;grid-template-columns:420px 1fr}.brief{overflow:auto;border-right:1px solid var(--line);padding:18px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 40%),var(--bg)}.graph-wrap{position:relative;min-height:0}.graph-wrap .react-flow{background-color:var(--graph-bg);background-image:linear-gradient(var(--graph-grid) 1px,transparent 1px),linear-gradient(90deg,var(--graph-grid) 1px,transparent 1px);background-size:24px 24px}.react-flow__minimap{background:var(--surface)!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--surface)!important;border-bottom:1px solid var(--line)!important;fill:var(--ink)!important}h1{font-size:18px;margin:0 0 6px}.level{font-family:IBM Plex Mono,monospace;font-weight:600}.level.high{color:var(--high)}.level.medium{color:var(--medium)}.level.low{color:var(--low)}.kicker{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px}.chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin:0 6px 6px 0;color:var(--muted)}.chip.blocker{color:var(--low);border-color:var(--low)}.chip.warning{color:var(--medium);border-color:var(--medium)}.file{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--accent)}.muted{color:var(--muted);font-size:13px;line-height:1.45}.error{color:var(--low);padding:8px 16px}.banner{margin:0 16px 10px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.45}.banner.warn{border-color:var(--medium);color:var(--medium)}.banner.stale{border-color:var(--low);color:var(--low)}.empty{padding:8px 0;color:var(--muted);font-size:13px;line-height:1.55}.empty ol{margin:8px 0 0 18px;padding:0}.empty code{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pr-list{padding:16px;overflow:auto}.pr{border:1px solid var(--line);background:var(--surface);padding:12px 14px;border-radius:8px;margin-bottom:10px}.pr h3{margin:0 0 4px;font-size:14px}.settings{padding:24px;max-width:720px;display:grid;gap:10px}.settings label{font-size:12px;color:var(--muted)}.settings input,.settings select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 10px;width:100%}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.theme-swatch{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px;text-align:left;cursor:pointer}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch .name{font-size:13px;font-weight:600}.theme-swatch .group{font-size:11px;color:var(--muted)}.headline{white-space:pre-wrap;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--muted)}.graph-modes{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.graph-modes button{background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted);cursor:pointer}.graph-modes button.active{background:var(--rail-active);color:var(--ink);border-color:var(--btn-primary-line)}.lp-node{padding:8px 10px;border-radius:8px;border:1px solid var(--node-line);background:var(--node-bg);min-width:150px;box-shadow:0 0 0 1px var(--shadow)}.lp-node .t{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.lp-node .n{font-size:13px;font-weight:600} +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root,[data-theme=obsidian]{--bg: #070b10;--bg-2: #0d141c;--surface: #121a24;--line: #1e2c3c;--ink: #e7eef6;--muted: #8b9bb0;--high: #2a9d8f;--medium: #e9c46a;--low: #e76f51;--critical: #e85d04;--accent: #4cc9f0;--rail-from: #0b1219;--rail-to: #070b10;--rail-active: #15202c;--btn: #173044;--btn-line: #24506c;--btn-primary: #134e4a;--btn-primary-line: #2a9d8f;--node-bg: #101822;--node-line: #2a3d52;--graph-bg: #070b10;--graph-grid: rgba(42, 80, 120, .09);--edge-cheap: #4a5568;--edge-expensive: #f4a261;--edge-critical: #e85d04;--shadow: rgba(76, 201, 240, .08)}[data-theme=nord]{--bg: #2e3440;--bg-2: #3b4252;--surface: #434c5e;--line: #4c566a;--ink: #eceff4;--muted: #d8dee9;--high: #a3be8c;--medium: #ebcb8b;--low: #bf616a;--critical: #d08770;--accent: #88c0d0;--rail-from: #3b4252;--rail-to: #2e3440;--rail-active: #4c566a;--btn: #434c5e;--btn-line: #81a1c1;--btn-primary: #5e81ac;--btn-primary-line: #88c0d0;--node-bg: #3b4252;--node-line: #81a1c1;--graph-bg: #2e3440;--graph-grid: rgba(136, 192, 208, .12);--edge-cheap: #4c566a;--edge-expensive: #d08770;--edge-critical: #bf616a;--shadow: rgba(136, 192, 208, .12)}[data-theme=solarized-dark]{--bg: #002b36;--bg-2: #073642;--surface: #0a3944;--line: #16444f;--ink: #eee8d5;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #2aa198;--rail-from: #073642;--rail-to: #002b36;--rail-active: #16444f;--btn: #073642;--btn-line: #268bd2;--btn-primary: #0a4a42;--btn-primary-line: #2aa198;--node-bg: #073642;--node-line: #268bd2;--graph-bg: #002b36;--graph-grid: rgba(42, 161, 152, .12);--edge-cheap: #586e75;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(42, 161, 152, .12)}[data-theme=forest]{--bg: #0e1510;--bg-2: #152019;--surface: #1b2a20;--line: #2c4334;--ink: #e4f0e6;--muted: #8eaa96;--high: #6ab04c;--medium: #c8a951;--low: #e17055;--critical: #d35400;--accent: #7bed9f;--rail-from: #152019;--rail-to: #0e1510;--rail-active: #1f3326;--btn: #1f3326;--btn-line: #3d6b4f;--btn-primary: #1e4d32;--btn-primary-line: #6ab04c;--node-bg: #16241b;--node-line: #3d6b4f;--graph-bg: #0e1510;--graph-grid: rgba(123, 237, 159, .1);--edge-cheap: #3d6b4f;--edge-expensive: #c8a951;--edge-critical: #d35400;--shadow: rgba(123, 237, 159, .1)}[data-theme=rose]{--bg: #191724;--bg-2: #1f1d2e;--surface: #26233a;--line: #403d52;--ink: #e0def4;--muted: #908caa;--high: #9ccfd8;--medium: #f6c177;--low: #eb6f92;--critical: #eb6f92;--accent: #c4a7e7;--rail-from: #1f1d2e;--rail-to: #191724;--rail-active: #26233a;--btn: #26233a;--btn-line: #c4a7e7;--btn-primary: #3a2f4d;--btn-primary-line: #c4a7e7;--node-bg: #1f1d2e;--node-line: #524f67;--graph-bg: #191724;--graph-grid: rgba(196, 167, 231, .12);--edge-cheap: #524f67;--edge-expensive: #f6c177;--edge-critical: #eb6f92;--shadow: rgba(196, 167, 231, .12)}[data-theme=amber]{--bg: #120e0a;--bg-2: #1c1610;--surface: #261e16;--line: #3d2f22;--ink: #f4e6d0;--muted: #b59a78;--high: #c4d6a0;--medium: #e9b44c;--low: #d8572a;--critical: #c0392b;--accent: #f0a05a;--rail-from: #1c1610;--rail-to: #120e0a;--rail-active: #2b2218;--btn: #2b2218;--btn-line: #8a5a2b;--btn-primary: #4a3418;--btn-primary-line: #f0a05a;--node-bg: #1c1610;--node-line: #8a5a2b;--graph-bg: #120e0a;--graph-grid: rgba(240, 160, 90, .12);--edge-cheap: #5c4a38;--edge-expensive: #e9b44c;--edge-critical: #d8572a;--shadow: rgba(240, 160, 90, .12)}[data-theme=volcano]{--bg: #14090a;--bg-2: #1e0e10;--surface: #2a1416;--line: #4a2226;--ink: #fde8e4;--muted: #c48b86;--high: #7bed9f;--medium: #f6c90e;--low: #ff6b6b;--critical: #ff3b3b;--accent: #ff7b54;--rail-from: #1e0e10;--rail-to: #14090a;--rail-active: #32181b;--btn: #32181b;--btn-line: #ff7b54;--btn-primary: #5a1f18;--btn-primary-line: #ff7b54;--node-bg: #1e0e10;--node-line: #7a3330;--graph-bg: #14090a;--graph-grid: rgba(255, 123, 84, .12);--edge-cheap: #5a3330;--edge-expensive: #ff7b54;--edge-critical: #ff3b3b;--shadow: rgba(255, 123, 84, .14)}[data-theme=lavender]{--bg: #12101c;--bg-2: #1a1730;--surface: #221e3c;--line: #3b3560;--ink: #efeaff;--muted: #b3a7d6;--high: #80ffdb;--medium: #ffd166;--low: #ff6b9d;--critical: #ff4d6d;--accent: #c77dff;--rail-from: #1a1730;--rail-to: #12101c;--rail-active: #2a2550;--btn: #2a2550;--btn-line: #c77dff;--btn-primary: #3d2a66;--btn-primary-line: #c77dff;--node-bg: #1a1730;--node-line: #5a4d8a;--graph-bg: #12101c;--graph-grid: rgba(199, 125, 255, .12);--edge-cheap: #5a4d8a;--edge-expensive: #ffd166;--edge-critical: #ff4d6d;--shadow: rgba(199, 125, 255, .14)}[data-theme=paper]{--bg: #f6f1e8;--bg-2: #efe6d6;--surface: #fffaf2;--line: #d9cbb6;--ink: #2b241c;--muted: #6f6456;--high: #2a7a4b;--medium: #b5811a;--low: #c0392b;--critical: #a93226;--accent: #1d6a7a;--rail-from: #efe6d6;--rail-to: #e7dcc8;--rail-active: #e2d3bb;--btn: #fffaf2;--btn-line: #c9b79a;--btn-primary: #d7eee0;--btn-primary-line: #2a7a4b;--node-bg: #fffaf2;--node-line: #c9b79a;--graph-bg: #f6f1e8;--graph-grid: rgba(29, 106, 122, .1);--edge-cheap: #b7a48c;--edge-expensive: #c0392b;--edge-critical: #a93226;--shadow: rgba(43, 36, 28, .08)}[data-theme=solarized-light]{--bg: #fdf6e3;--bg-2: #eee8d5;--surface: #f5efdc;--line: #d6cba9;--ink: #657b83;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #268bd2;--rail-from: #eee8d5;--rail-to: #e6dfc8;--rail-active: #e0d9c0;--btn: #fdf6e3;--btn-line: #93a1a1;--btn-primary: #e8efc8;--btn-primary-line: #859900;--node-bg: #fdf6e3;--node-line: #93a1a1;--graph-bg: #fdf6e3;--graph-grid: rgba(38, 139, 210, .12);--edge-cheap: #93a1a1;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(101, 123, 131, .1)}[data-theme=seafoam]{--bg: #eef7f4;--bg-2: #dff0ea;--surface: #ffffff;--line: #b7d5cc;--ink: #17332c;--muted: #4d7268;--high: #1b8a5a;--medium: #c48a14;--low: #c44536;--critical: #9b2d22;--accent: #1d9a8a;--rail-from: #dff0ea;--rail-to: #cfe6de;--rail-active: #c4ddd4;--btn: #ffffff;--btn-line: #8fbfb2;--btn-primary: #d4f0e4;--btn-primary-line: #1b8a5a;--node-bg: #ffffff;--node-line: #8fbfb2;--graph-bg: #eef7f4;--graph-grid: rgba(29, 154, 138, .12);--edge-cheap: #8fbfb2;--edge-expensive: #c48a14;--edge-critical: #c44536;--shadow: rgba(23, 51, 44, .08)}[data-theme=high-contrast]{--bg: #ffffff;--bg-2: #f2f2f2;--surface: #ffffff;--line: #111111;--ink: #000000;--muted: #222222;--high: #007a33;--medium: #8a5a00;--low: #b00000;--critical: #9b0000;--accent: #0033cc;--rail-from: #f2f2f2;--rail-to: #e6e6e6;--rail-active: #d9d9d9;--btn: #ffffff;--btn-line: #000000;--btn-primary: #d9f2e3;--btn-primary-line: #007a33;--node-bg: #ffffff;--node-line: #000000;--graph-bg: #ffffff;--graph-grid: rgba(0, 0, 0, .12);--edge-cheap: #444444;--edge-expensive: #8a5a00;--edge-critical: #b00000;--shadow: rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}:root{--radius: 6px;--radius-lg: 10px;--control-h: 32px;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--space: 8px}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-40px;z-index:50;background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 12px}.skip:focus{top:12px}.app{display:grid;grid-template-columns:232px 1fr;height:100%}.rail{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--rail-from),var(--rail-to));padding:16px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.brand{display:flex;flex-direction:column;gap:2px;padding:4px 8px 16px}.brand-mark{font-family:var(--mono);letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--accent);font-weight:600}.brand-sub{font-size:11px;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;background:transparent;border:0;text-align:left;padding:8px 10px;border-radius:var(--radius);color:var(--muted);cursor:pointer;width:100%}.nav-item:hover{background:color-mix(in srgb,var(--rail-active) 70%,transparent);color:var(--ink)}.nav-item.active{background:var(--rail-active);color:var(--ink);font-weight:500}.nav-item svg{flex-shrink:0}.theme-pick{margin-top:14px;display:grid;gap:4px;padding:0 2px}.theme-pick label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.theme-pick select,.field select,.field input,.topbar input,.topbar select,.settings input,.settings select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;height:var(--control-h);width:100%}.rail-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--line);display:grid;gap:6px}.kbd-hint{font-size:11px;color:var(--muted)}kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--surface)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--bg)}.progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;z-index:30;background:color-mix(in srgb,var(--accent) 20%,transparent)}.progress i{display:block;height:100%;width:32%;background:var(--accent);animation:indeterminate 1.1s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-120%)}to{transform:translate(400%)}}.topbar{display:flex;gap:10px;align-items:flex-end;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:11px;color:var(--muted);font-weight:500}.field.path{flex:1;min-width:180px}.field.ref{width:132px;flex:0 0 132px}.field.workspace{width:180px;flex:0 0 180px}.topbar input,.topbar select{min-width:0}.topbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center;padding-bottom:0}.btn,.topbar button{background:var(--btn);border:1px solid var(--btn-line);border-radius:var(--radius);height:var(--control-h);padding:0 12px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover,.topbar button:hover{filter:brightness(1.08)}.btn:disabled,.topbar button:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.primary{background:var(--btn-primary);border-color:var(--btn-primary-line)}.btn.ghost{background:transparent}.alerts{display:grid;gap:8px;padding:10px 16px 0}.alerts:empty{display:none;padding:0}.stage{flex:1;min-height:0;display:flex;flex-direction:column}.content{flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,420px) 1fr}.brief{overflow:auto;border-right:1px solid var(--line);padding:16px 18px 24px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--bg)}.graph-wrap{position:relative;min-height:0;display:flex;flex-direction:column}.graph-wrap .react-flow{background-color:var(--graph-bg);background-image:linear-gradient(var(--graph-grid) 1px,transparent 1px),linear-gradient(90deg,var(--graph-grid) 1px,transparent 1px);background-size:24px 24px}.react-flow__minimap{background:var(--surface)!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--surface)!important;border-bottom:1px solid var(--line)!important;fill:var(--ink)!important}h1{font-size:18px;margin:0 0 6px;font-weight:600}h2{font-size:13px;margin:0;font-weight:600}.merge-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:12px}.merge-box.high{border-color:color-mix(in srgb,var(--high) 55%,var(--line))}.merge-box.medium{border-color:color-mix(in srgb,var(--medium) 55%,var(--line))}.merge-box.low{border-color:color-mix(in srgb,var(--low) 55%,var(--line))}.level{font-family:var(--mono);font-weight:600;font-size:14px}.level.high{color:var(--high)}.level.medium{color:var(--medium)}.level.low{color:var(--low)}.merge-title{margin-top:4px;font-size:13px;color:var(--ink)}.reasons{margin:10px 0 0;padding:0 0 0 18px;color:var(--muted)}.reasons li{margin:0 0 4px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px 10px}.metric .n{font-family:var(--mono);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.metric .l{font-size:11px;color:var(--muted);margin-top:2px}.section{border-top:1px solid var(--line);padding:8px 0 4px}.section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:6px 0}.section>summary::-webkit-details-marker{display:none}.section>summary .count{font-family:var(--mono);letter-spacing:0;text-transform:none;border:1px solid var(--line);border-radius:999px;padding:0 7px;height:18px;display:inline-flex;align-items:center;font-size:11px}.kicker{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-weight:600}.chip{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin:0 6px 6px 0;color:var(--muted);background:var(--surface)}.chip.blocker{color:var(--low);border-color:var(--low)}.chip.warning{color:var(--medium);border-color:var(--medium)}.chip.open{color:var(--high);border-color:color-mix(in srgb,var(--high) 50%,var(--line))}.file{font-family:var(--mono);font-size:12px;color:var(--accent)}.read-item,.finding,.residual{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.read-item:last-child,.finding:last-child{border-bottom:0}.read-item .why{color:var(--muted);font-size:12px;margin-top:2px}.muted{color:var(--muted);font-size:13px;line-height:1.45}.error{color:var(--low);padding:8px 12px;border:1px solid var(--low);background:color-mix(in srgb,var(--low) 10%,var(--surface));border-radius:var(--radius);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.45;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner.warn{border-color:var(--medium);color:var(--medium)}.banner.stale{border-color:var(--low);color:var(--low)}.banner .dismiss{background:transparent;border:0;color:inherit;cursor:pointer;height:auto;padding:0 2px;opacity:.7}.empty{padding:24px 8px;color:var(--muted);font-size:13px;line-height:1.55}.empty h2{font-size:16px;color:var(--ink);margin-bottom:8px}.empty ol{margin:12px 0 0 18px;padding:0}.empty code,code{font-family:var(--mono);font-size:12px;color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pr-list{padding:16px;overflow:auto}.pr-toolbar{display:flex;gap:8px;align-items:flex-end;margin-bottom:14px}.pr-toolbar .field{flex:1}.pr-toolbar .field.provider{flex:0 0 140px}.pr{border:1px solid var(--line);background:var(--surface);padding:12px 14px;border-radius:var(--radius-lg);margin-bottom:10px}.pr h3{margin:0 0 4px;font-size:14px;font-weight:600}.pr-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px}.pr-actions{display:flex;gap:8px;align-items:center}.settings{padding:24px;max-width:760px;overflow:auto;display:grid;gap:16px}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:16px;display:grid;gap:8px}.settings-card h2{font-size:14px;margin-bottom:2px}.settings label{font-size:12px;color:var(--muted);font-weight:500}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.theme-swatch{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);padding:10px;text-align:left;cursor:pointer;height:auto}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch .name{font-size:13px;font-weight:600}.theme-swatch .group{font-size:11px;color:var(--muted)}.headline{white-space:pre-wrap;font-family:var(--mono);font-size:12px;color:var(--muted);margin:8px 0 0}.graph-modes{display:flex;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}.seg button,.graph-modes button{background:transparent;border:0;border-radius:999px;padding:4px 12px;color:var(--muted);cursor:pointer;height:26px}.seg button.active,.graph-modes button.active{background:var(--rail-active);color:var(--ink)}.legend{margin-left:auto;display:flex;gap:12px;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:14px;height:2px;margin-right:6px;vertical-align:middle;background:var(--edge-cheap)}.legend i.exp{background:var(--edge-expensive)}.legend i.crit{background:var(--edge-critical);height:3px}.legend i.dash{border-top:2px dashed var(--muted);background:none;height:0}.inspector{position:absolute;top:12px;right:12px;z-index:5;width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;box-shadow:0 8px 24px var(--shadow)}.inspector .t{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.inspector .n{font-weight:600;margin:4px 0}.lp-node{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--node-line);background:var(--node-bg);min-width:168px;box-shadow:0 0 0 1px var(--shadow)}.lp-node .t{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.lp-node .n{font-size:13px;font-weight:600}.lp-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.type-table{width:100%;border-collapse:collapse;font-size:12px}.type-table td{padding:3px 0}.type-table td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted)}@media(prefers-reduced-motion:reduce){.progress i{animation:none;width:100%}*{scroll-behavior:auto!important}}@media(max-width:960px){.app{grid-template-columns:56px 1fr}.brand-sub,.nav-item span,.theme-pick,.kbd-hint,.rail-foot .muted{display:none}.nav-item{justify-content:center;padding:10px}.content{grid-template-columns:1fr}.brief{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}} diff --git a/src/loadpath/static/assets/index-CYVEhMj3.js b/src/loadpath/static/assets/index-CYVEhMj3.js new file mode 100644 index 0000000..5c0c313 --- /dev/null +++ b/src/loadpath/static/assets/index-CYVEhMj3.js @@ -0,0 +1,63 @@ +(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function o(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=o(a);fetch(a.href,c)}})();function np(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var gu={exports:{}},Gi={},mu={exports:{}},Me={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Df;function j0(){if(Df)return Me;Df=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.iterator;function m(j){return j===null||typeof j!="object"?null:(j=x&&j[x]||j["@@iterator"],typeof j=="function"?j:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,M={};function E(j,z,ne){this.props=j,this.context=z,this.refs=M,this.updater=ne||S}E.prototype.isReactComponent={},E.prototype.setState=function(j,z){if(typeof j!="object"&&typeof j!="function"&&j!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,j,z,"setState")},E.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function N(){}N.prototype=E.prototype;function T(j,z,ne){this.props=j,this.context=z,this.refs=M,this.updater=ne||S}var k=T.prototype=new N;k.constructor=T,_(k,E.prototype),k.isPureReactComponent=!0;var P=Array.isArray,b=Object.prototype.hasOwnProperty,$={current:null},H={key:!0,ref:!0,__self:!0,__source:!0};function X(j,z,ne){var re,ue={},ce=null,de=null;if(z!=null)for(re in z.ref!==void 0&&(de=z.ref),z.key!==void 0&&(ce=""+z.key),z)b.call(z,re)&&!H.hasOwnProperty(re)&&(ue[re]=z[re]);var G=arguments.length-2;if(G===1)ue.children=ne;else if(1>>1,z=A[j];if(0>>1;ja(ue,O))cea(de,ue)?(A[j]=de,A[ce]=O,j=ce):(A[j]=ue,A[re]=O,j=re);else if(cea(de,O))A[j]=de,A[ce]=O,j=ce;else break e}}return L}function a(A,L){var O=A.sortIndex-L.sortIndex;return O!==0?O:A.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();t.unstable_now=function(){return d.now()-h}}var p=[],y=[],g=1,x=null,m=3,S=!1,_=!1,M=!1,E=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(A){for(var L=o(y);L!==null;){if(L.callback===null)l(y);else if(L.startTime<=A)l(y),L.sortIndex=L.expirationTime,r(p,L);else break;L=o(y)}}function P(A){if(M=!1,k(A),!_)if(o(p)!==null)_=!0,F(b);else{var L=o(y);L!==null&&V(P,L.startTime-A)}}function b(A,L){_=!1,M&&(M=!1,N(X),X=-1),S=!0;var O=m;try{for(k(L),x=o(p);x!==null&&(!(x.expirationTime>L)||A&&!Z());){var j=x.callback;if(typeof j=="function"){x.callback=null,m=x.priorityLevel;var z=j(x.expirationTime<=L);L=t.unstable_now(),typeof z=="function"?x.callback=z:x===o(p)&&l(p),k(L)}else l(p);x=o(p)}if(x!==null)var ne=!0;else{var re=o(y);re!==null&&V(P,re.startTime-L),ne=!1}return ne}finally{x=null,m=O,S=!1}}var $=!1,H=null,X=-1,Q=5,te=-1;function Z(){return!(t.unstable_now()-teA||125j?(A.sortIndex=O,r(y,A),o(p)===null&&A===o(y)&&(M?(N(X),X=-1):M=!0,V(P,O-j))):(A.sortIndex=z,r(p,A),_||S||(_=!0,F(b))),A},t.unstable_shouldYield=Z,t.unstable_wrapCallback=function(A){var L=m;return function(){var O=m;m=L;try{return A.apply(this,arguments)}finally{m=O}}}})(xu)),xu}var Vf;function z0(){return Vf||(Vf=1,vu.exports=T0()),vu.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Bf;function R0(){if(Bf)return vt;Bf=1;var t=fo(),r=z0();function o(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},x={};function m(e){return p.call(x,e)?!0:p.call(g,e)?!1:y.test(e)?x[e]=!0:(g[e]=!0,!1)}function S(e,n,i,s){if(i!==null&&i.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return s?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _(e,n,i,s){if(n===null||typeof n>"u"||S(e,n,i,s))return!0;if(s)return!1;if(i!==null)switch(i.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function M(e,n,i,s,u,f,w){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=s,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=n,this.sanitizeURL=f,this.removeEmptyString=w}var E={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){E[e]=new M(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];E[n]=new M(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){E[e]=new M(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){E[e]=new M(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){E[e]=new M(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){E[e]=new M(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){E[e]=new M(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){E[e]=new M(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){E[e]=new M(e,5,!1,e.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function T(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){E[e]=new M(e,1,!1,e.toLowerCase(),null,!1,!1)}),E.xlinkHref=new M("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){E[e]=new M(e,1,!1,e.toLowerCase(),null,!0,!0)});function k(e,n,i,s){var u=E.hasOwnProperty(n)?E[n]:null;(u!==null?u.type!==0:s||!(2I||u[w]!==f[I]){var R=` +`+u[w].replace(" at new "," at ");return e.displayName&&R.includes("")&&(R=R.replace("",e.displayName)),R}while(1<=w&&0<=I);break}}}finally{ne=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?z(e):""}function ue(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return e=re(e.type,!1),e;case 11:return e=re(e.type.render,!1),e;case 1:return e=re(e.type,!0),e;default:return""}}function ce(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case H:return"Fragment";case $:return"Portal";case Q:return"Profiler";case X:return"StrictMode";case J:return"Suspense";case C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Z:return(e.displayName||"Context")+".Consumer";case te:return(e._context.displayName||"Context")+".Provider";case ee:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case B:return n=e.displayName||null,n!==null?n:ce(e.type)||"Memo";case F:n=e._payload,e=e._init;try{return ce(e(n))}catch{}}return null}function de(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(n);case 8:return n===X?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function G(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function se(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function pe(e){var n=se(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),s=""+e[n];if(!e.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,f=i.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(w){s=""+w,f.call(this,w)}}),Object.defineProperty(e,n,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function we(e){e._valueTracker||(e._valueTracker=pe(e))}function ve(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),s="";return e&&(s=se(e)?e.checked?"true":"false":e.value),e=s,e!==i?(n.setValue(e),!0):!1}function me(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ce(e,n){var i=n.checked;return O({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function je(e,n){var i=n.defaultValue==null?"":n.defaultValue,s=n.checked!=null?n.checked:n.defaultChecked;i=G(n.value!=null?n.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Pe(e,n){n=n.checked,n!=null&&k(e,"checked",n,!1)}function Le(e,n){Pe(e,n);var i=G(n.value),s=n.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?st(e,n.type,i):n.hasOwnProperty("defaultValue")&&st(e,n.type,G(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function rt(e,n,i){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var s=n.type;if(!(s!=="submit"&&s!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,i||n===e.value||(e.value=n),e.defaultValue=n}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function st(e,n,i){(n!=="number"||me(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Ge=Array.isArray;function Ke(e,n,i,s){if(e=e.options,n){n={};for(var u=0;u"+n.valueOf().toString()+"",n=Je.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function ln(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var Xn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kl=["Webkit","ms","Moz","O"];Object.keys(Xn).forEach(function(e){kl.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Xn[n]=Xn[e]})});function wo(e,n,i){return n==null||typeof n=="boolean"||n===""?"":i||typeof n!="number"||n===0||Xn.hasOwnProperty(e)&&Xn[e]?(""+n).trim():n+"px"}function So(e,n){e=e.style;for(var i in n)if(n.hasOwnProperty(i)){var s=i.indexOf("--")===0,u=wo(i,n[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,u):e[i]=u}}var El=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function si(e,n){if(n){if(El[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(o(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(o(61))}if(n.style!=null&&typeof n.style!="object")throw Error(o(62))}}function li(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function ui(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,Sn=null,_n=null;function _o(e){if(e=Li(e)){if(typeof ci!="function")throw Error(o(280));var n=e.stateNode;n&&(n=Zo(n),ci(e.stateNode,e.type,n))}}function ko(e){Sn?_n?_n.push(e):_n=[e]:Sn=e}function Eo(){if(Sn){var e=Sn,n=_n;if(_n=Sn=null,_o(e),n)for(e=0;e>>=0,e===0?32:31-(Ll(e)/Al|0)|0}var Nr=64,Cr=4194304;function qn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function an(e,n){var i=e.pendingLanes;if(i===0)return 0;var s=0,u=e.suspendedLanes,f=e.pingedLanes,w=i&268435455;if(w!==0){var I=w&~u;I!==0?s=qn(I):(f&=w,f!==0&&(s=qn(f)))}else w=i&~u,w!==0?s=qn(w):f!==0&&(s=qn(f));if(s===0)return 0;if(n!==0&&n!==s&&(n&u)===0&&(u=s&-s,f=n&-n,u>=f||u===16&&(f&4194240)!==0))return n;if((s&4)!==0&&(s|=i&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=s;0i;i++)n.push(e);return n}function Jn(e,n,i){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Et(n),e[n]=i}function Ol(e,n){var i=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0=Ni),Pc=" ",Ic=!1;function Tc(e,n){switch(e){case"keyup":return _m.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ir=!1;function Em(e,n){switch(e){case"compositionend":return zc(n);case"keypress":return n.which!==32?null:(Ic=!0,Pc);case"textInput":return e=n.data,e===Pc&&Ic?null:e;default:return null}}function Nm(e,n){if(Ir)return e==="compositionend"||!Gl&&Tc(e,n)?(e=kc(),Ho=Bl=jn=null,Ir=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:i,offset:n-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=bc(i)}}function Hc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Hc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vc(){for(var e=window,n=me();n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=me(e.document)}return n}function Zl(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Lm(e){var n=Vc(),i=e.focusedElem,s=e.selectionRange;if(n!==i&&i&&i.ownerDocument&&Hc(i.ownerDocument.documentElement,i)){if(s!==null&&Zl(i)){if(n=s.start,e=s.end,e===void 0&&(e=n),"selectionStart"in i)i.selectionStart=n,i.selectionEnd=Math.min(e,i.value.length);else if(e=(n=i.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,f=Math.min(s.start,u);s=s.end===void 0?f:Math.min(s.end,u),!e.extend&&f>s&&(u=s,s=f,f=u),u=Fc(i,f);var w=Fc(i,s);u&&w&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==w.node||e.focusOffset!==w.offset)&&(n=n.createRange(),n.setStart(u.node,u.offset),e.removeAllRanges(),f>s?(e.addRange(n),e.extend(w.node,w.offset)):(n.setEnd(w.node,w.offset),e.addRange(n)))}}for(n=[],e=i;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Tr=null,Jl=null,Pi=null,ea=!1;function Bc(e,n,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ea||Tr==null||Tr!==me(s)||(s=Tr,"selectionStart"in s&&Zl(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Pi&&Mi(Pi,s)||(Pi=s,s=Go(Jl,"onSelect"),0$r||(e.current=fa[$r],fa[$r]=null,$r--)}function $e(e,n){$r++,fa[$r]=e.current,e.current=n}var Tn={},lt=In(Tn),ht=In(!1),tr=Tn;function Dr(e,n){var i=e.type.contextTypes;if(!i)return Tn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===n)return s.__reactInternalMemoizedMaskedChildContext;var u={},f;for(f in i)u[f]=n[f];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=u),u}function pt(e){return e=e.childContextTypes,e!=null}function Jo(){Oe(ht),Oe(lt)}function id(e,n,i){if(lt.current!==Tn)throw Error(o(168));$e(lt,n),$e(ht,i)}function od(e,n,i){var s=e.stateNode;if(n=n.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var u in s)if(!(u in n))throw Error(o(108,de(e)||"Unknown",u));return O({},i,s)}function es(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tn,tr=lt.current,$e(lt,e),$e(ht,ht.current),!0}function sd(e,n,i){var s=e.stateNode;if(!s)throw Error(o(169));i?(e=od(e,n,tr),s.__reactInternalMemoizedMergedChildContext=e,Oe(ht),Oe(lt),$e(lt,e)):Oe(ht),$e(ht,i)}var cn=null,ts=!1,ha=!1;function ld(e){cn===null?cn=[e]:cn.push(e)}function Ym(e){ts=!0,ld(e)}function zn(){if(!ha&&cn!==null){ha=!0;var e=0,n=Ae;try{var i=cn;for(Ae=1;e>=w,u-=w,dn=1<<32-Et(n)+u|i<Ne?(nt=Ee,Ee=null):nt=Ee.sibling;var Re=ie(U,Ee,W[Ne],ae);if(Re===null){Ee===null&&(Ee=nt);break}e&&Ee&&Re.alternate===null&&n(U,Ee),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re,Ee=nt}if(Ne===W.length)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;NeNe?(nt=Ee,Ee=null):nt=Ee.sibling;var Hn=ie(U,Ee,Re.value,ae);if(Hn===null){Ee===null&&(Ee=nt);break}e&&Ee&&Hn.alternate===null&&n(U,Ee),D=f(Hn,D,Ne),ke===null?xe=Hn:ke.sibling=Hn,ke=Hn,Ee=nt}if(Re.done)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;!Re.done;Ne++,Re=W.next())Re=le(U,Re.value,ae),Re!==null&&(D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return Fe&&rr(U,Ne),xe}for(Ee=s(U,Ee);!Re.done;Ne++,Re=W.next())Re=fe(Ee,U,Ne,Re.value,ae),Re!==null&&(e&&Re.alternate!==null&&Ee.delete(Re.key===null?Ne:Re.key),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return e&&Ee.forEach(function(C0){return n(U,C0)}),Fe&&rr(U,Ne),xe}function Ye(U,D,W,ae){if(typeof W=="object"&&W!==null&&W.type===H&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case b:e:{for(var xe=W.key,ke=D;ke!==null;){if(ke.key===xe){if(xe=W.type,xe===H){if(ke.tag===7){i(U,ke.sibling),D=u(ke,W.props.children),D.return=U,U=D;break e}}else if(ke.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===F&&hd(xe)===ke.type){i(U,ke.sibling),D=u(ke,W.props),D.ref=Ai(U,ke,W),D.return=U,U=D;break e}i(U,ke);break}else n(U,ke);ke=ke.sibling}W.type===H?(D=dr(W.props.children,U.mode,ae,W.key),D.return=U,U=D):(ae=Ps(W.type,W.key,W.props,null,U.mode,ae),ae.ref=Ai(U,D,W),ae.return=U,U=ae)}return w(U);case $:e:{for(ke=W.key;D!==null;){if(D.key===ke)if(D.tag===4&&D.stateNode.containerInfo===W.containerInfo&&D.stateNode.implementation===W.implementation){i(U,D.sibling),D=u(D,W.children||[]),D.return=U,U=D;break e}else{i(U,D);break}else n(U,D);D=D.sibling}D=cu(W,U.mode,ae),D.return=U,U=D}return w(U);case F:return ke=W._init,Ye(U,D,ke(W._payload),ae)}if(Ge(W))return ge(U,D,W,ae);if(L(W))return ye(U,D,W,ae);os(U,W)}return typeof W=="string"&&W!==""||typeof W=="number"?(W=""+W,D!==null&&D.tag===6?(i(U,D.sibling),D=u(D,W),D.return=U,U=D):(i(U,D),D=uu(W,U.mode,ae),D.return=U,U=D),w(U)):i(U,D)}return Ye}var Hr=pd(!0),gd=pd(!1),ss=In(null),ls=null,Vr=null,xa=null;function wa(){xa=Vr=ls=null}function Sa(e){var n=ss.current;Oe(ss),e._currentValue=n}function _a(e,n,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===i)break;e=e.return}}function Br(e,n){ls=e,xa=Vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(gt=!0),e.firstContext=null)}function At(e){var n=e._currentValue;if(xa!==e)if(e={context:e,memoizedValue:n,next:null},Vr===null){if(ls===null)throw Error(o(308));Vr=e,ls.dependencies={lanes:0,firstContext:e}}else Vr=Vr.next=e;return n}var ir=null;function ka(e){ir===null?ir=[e]:ir.push(e)}function md(e,n,i,s){var u=n.interleaved;return u===null?(i.next=i,ka(n)):(i.next=u.next,u.next=i),n.interleaved=i,hn(e,s)}function hn(e,n){e.lanes|=n;var i=e.alternate;for(i!==null&&(i.lanes|=n),i=e,e=e.return;e!==null;)e.childLanes|=n,i=e.alternate,i!==null&&(i.childLanes|=n),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Rn=!1;function Ea(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yd(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function pn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Ln(e,n,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Te&2)!==0){var u=s.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),s.pending=n,hn(e,i)}return u=s.interleaved,u===null?(n.next=n,ka(s)):(n.next=u.next,u.next=n),s.interleaved=n,hn(e,i)}function as(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194240)!==0)){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}function vd(e,n){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var u=null,f=null;if(i=i.firstBaseUpdate,i!==null){do{var w={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};f===null?u=f=w:f=f.next=w,i=i.next}while(i!==null);f===null?u=f=n:f=f.next=n}else u=f=n;i={baseState:s.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}function us(e,n,i,s){var u=e.updateQueue;Rn=!1;var f=u.firstBaseUpdate,w=u.lastBaseUpdate,I=u.shared.pending;if(I!==null){u.shared.pending=null;var R=I,K=R.next;R.next=null,w===null?f=K:w.next=K,w=R;var oe=e.alternate;oe!==null&&(oe=oe.updateQueue,I=oe.lastBaseUpdate,I!==w&&(I===null?oe.firstBaseUpdate=K:I.next=K,oe.lastBaseUpdate=R))}if(f!==null){var le=u.baseState;w=0,oe=K=R=null,I=f;do{var ie=I.lane,fe=I.eventTime;if((s&ie)===ie){oe!==null&&(oe=oe.next={eventTime:fe,lane:0,tag:I.tag,payload:I.payload,callback:I.callback,next:null});e:{var ge=e,ye=I;switch(ie=n,fe=i,ye.tag){case 1:if(ge=ye.payload,typeof ge=="function"){le=ge.call(fe,le,ie);break e}le=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=ye.payload,ie=typeof ge=="function"?ge.call(fe,le,ie):ge,ie==null)break e;le=O({},le,ie);break e;case 2:Rn=!0}}I.callback!==null&&I.lane!==0&&(e.flags|=64,ie=u.effects,ie===null?u.effects=[I]:ie.push(I))}else fe={eventTime:fe,lane:ie,tag:I.tag,payload:I.payload,callback:I.callback,next:null},oe===null?(K=oe=fe,R=le):oe=oe.next=fe,w|=ie;if(I=I.next,I===null){if(I=u.shared.pending,I===null)break;ie=I,I=ie.next,ie.next=null,u.lastBaseUpdate=ie,u.shared.pending=null}}while(!0);if(oe===null&&(R=le),u.baseState=R,u.firstBaseUpdate=K,u.lastBaseUpdate=oe,n=u.shared.interleaved,n!==null){u=n;do w|=u.lane,u=u.next;while(u!==n)}else f===null&&(u.shared.lanes=0);lr|=w,e.lanes=w,e.memoizedState=le}}function xd(e,n,i){if(e=n.effects,n.effects=null,e!==null)for(n=0;ni?i:4,e(!0);var s=Pa.transition;Pa.transition={};try{e(!1),n()}finally{Ae=i,Pa.transition=s}}function Od(){return $t().memoizedState}function Km(e,n,i){var s=On(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},bd(e))Fd(n,i);else if(i=md(e,n,i,s),i!==null){var u=ft();Ut(i,e,s,u),Hd(i,n,s)}}function qm(e,n,i){var s=On(e),u={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(bd(e))Fd(n,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var w=n.lastRenderedState,I=f(w,i);if(u.hasEagerState=!0,u.eagerState=I,bt(I,w)){var R=n.interleaved;R===null?(u.next=u,ka(n)):(u.next=R.next,R.next=u),n.interleaved=u;return}}catch{}finally{}i=md(e,n,u,s),i!==null&&(u=ft(),Ut(i,e,s,u),Hd(i,n,s))}}function bd(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function Fd(e,n){bi=fs=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Hd(e,n,i){if((i&4194240)!==0){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}var gs={readContext:At,useCallback:at,useContext:at,useEffect:at,useImperativeHandle:at,useInsertionEffect:at,useLayoutEffect:at,useMemo:at,useReducer:at,useRef:at,useState:at,useDebugValue:at,useDeferredValue:at,useTransition:at,useMutableSource:at,useSyncExternalStore:at,useId:at,unstable_isNewReconciler:!1},Zm={readContext:At,useCallback:function(e,n){return tn().memoizedState=[e,n===void 0?null:n],e},useContext:At,useEffect:Id,useImperativeHandle:function(e,n,i){return i=i!=null?i.concat([e]):null,hs(4194308,4,Rd.bind(null,n,e),i)},useLayoutEffect:function(e,n){return hs(4194308,4,e,n)},useInsertionEffect:function(e,n){return hs(4,2,e,n)},useMemo:function(e,n){var i=tn();return n=n===void 0?null:n,e=e(),i.memoizedState=[e,n],e},useReducer:function(e,n,i){var s=tn();return n=i!==void 0?i(n):n,s.memoizedState=s.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},s.queue=e,e=e.dispatch=Km.bind(null,Be,e),[s.memoizedState,e]},useRef:function(e){var n=tn();return e={current:e},n.memoizedState=e},useState:Md,useDebugValue:$a,useDeferredValue:function(e){return tn().memoizedState=e},useTransition:function(){var e=Md(!1),n=e[0];return e=Gm.bind(null,e[1]),tn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,i){var s=Be,u=tn();if(Fe){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),tt===null)throw Error(o(349));(sr&30)!==0||kd(s,n,i)}u.memoizedState=i;var f={value:i,getSnapshot:n};return u.queue=f,Id(Nd.bind(null,s,f,e),[e]),s.flags|=2048,Vi(9,Ed.bind(null,s,f,i,n),void 0,null),i},useId:function(){var e=tn(),n=tt.identifierPrefix;if(Fe){var i=fn,s=dn;i=(s&~(1<<32-Et(s)-1)).toString(32)+i,n=":"+n+"R"+i,i=Fi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=w.createElement(i,{is:s.is}):(e=w.createElement(i),i==="select"&&(w=e,s.multiple?w.multiple=!0:s.size&&(w.size=s.size))):e=w.createElementNS(e,i),e[Jt]=n,e[Ri]=s,af(e,n,!1,!1),n.stateNode=e;e:{switch(w=li(i,s),i){case"dialog":De("cancel",e),De("close",e),u=s;break;case"iframe":case"object":case"embed":De("load",e),u=s;break;case"video":case"audio":for(u=0;uQr&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304)}else{if(!s)if(e=cs(w),e!==null){if(n.flags|=128,s=!0,i=e.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),Bi(f,!0),f.tail===null&&f.tailMode==="hidden"&&!w.alternate&&!Fe)return ut(n),null}else 2*He()-f.renderingStartTime>Qr&&i!==1073741824&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304);f.isBackwards?(w.sibling=n.child,n.child=w):(i=f.last,i!==null?i.sibling=w:n.child=w,f.last=w)}return f.tail!==null?(n=f.tail,f.rendering=n,f.tail=n.sibling,f.renderingStartTime=He(),n.sibling=null,i=Ve.current,$e(Ve,s?i&1|2:i&1),n):(ut(n),null);case 22:case 23:return su(),s=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(n.flags|=8192),s&&(n.mode&1)!==0?(Mt&1073741824)!==0&&(ut(n),n.subtreeFlags&6&&(n.flags|=8192)):ut(n),null;case 24:return null;case 25:return null}throw Error(o(156,n.tag))}function s0(e,n){switch(ga(n),n.tag){case 1:return pt(n.type)&&Jo(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Ur(),Oe(ht),Oe(lt),Ma(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return Ca(n),null;case 13:if(Oe(Ve),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Fr()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Oe(Ve),null;case 4:return Ur(),null;case 10:return Sa(n.type._context),null;case 22:case 23:return su(),null;case 24:return null;default:return null}}var xs=!1,ct=!1,l0=typeof WeakSet=="function"?WeakSet:Set,he=null;function Yr(e,n){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){We(e,n,s)}else i.current=null}function Qa(e,n,i){try{i()}catch(s){We(e,n,s)}}var df=!1;function a0(e,n){if(sa=bo,e=Vc(),Zl(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var u=s.anchorOffset,f=s.focusNode;s=s.focusOffset;try{i.nodeType,f.nodeType}catch{i=null;break e}var w=0,I=-1,R=-1,K=0,oe=0,le=e,ie=null;t:for(;;){for(var fe;le!==i||u!==0&&le.nodeType!==3||(I=w+u),le!==f||s!==0&&le.nodeType!==3||(R=w+s),le.nodeType===3&&(w+=le.nodeValue.length),(fe=le.firstChild)!==null;)ie=le,le=fe;for(;;){if(le===e)break t;if(ie===i&&++K===u&&(I=w),ie===f&&++oe===s&&(R=w),(fe=le.nextSibling)!==null)break;le=ie,ie=le.parentNode}le=fe}i=I===-1||R===-1?null:{start:I,end:R}}else i=null}i=i||{start:0,end:0}}else i=null;for(la={focusedElem:e,selectionRange:i},bo=!1,he=n;he!==null;)if(n=he,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,he=e;else for(;he!==null;){n=he;try{var ge=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ge!==null){var ye=ge.memoizedProps,Ye=ge.memoizedState,U=n.stateNode,D=U.getSnapshotBeforeUpdate(n.elementType===n.type?ye:Ht(n.type,ye),Ye);U.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var W=n.stateNode.containerInfo;W.nodeType===1?W.textContent="":W.nodeType===9&&W.documentElement&&W.removeChild(W.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ae){We(n,n.return,ae)}if(e=n.sibling,e!==null){e.return=n.return,he=e;break}he=n.return}return ge=df,df=!1,ge}function Ui(e,n,i){var s=n.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var u=s=s.next;do{if((u.tag&e)===e){var f=u.destroy;u.destroy=void 0,f!==void 0&&Qa(n,i,f)}u=u.next}while(u!==s)}}function ws(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==n)}}function Ga(e){var n=e.ref;if(n!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof n=="function"?n(e):n.current=e}}function ff(e){var n=e.alternate;n!==null&&(e.alternate=null,ff(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Jt],delete n[Ri],delete n[da],delete n[Um],delete n[Wm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function hf(e){return e.tag===5||e.tag===3||e.tag===4}function pf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ka(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.nodeType===8?i.parentNode.insertBefore(e,n):i.insertBefore(e,n):(i.nodeType===8?(n=i.parentNode,n.insertBefore(e,i)):(n=i,n.appendChild(e)),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=qo));else if(s!==4&&(e=e.child,e!==null))for(Ka(e,n,i),e=e.sibling;e!==null;)Ka(e,n,i),e=e.sibling}function qa(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(qa(e,n,i),e=e.sibling;e!==null;)qa(e,n,i),e=e.sibling}var it=null,Vt=!1;function An(e,n,i){for(i=i.child;i!==null;)gf(e,n,i),i=i.sibling}function gf(e,n,i){if(kt&&typeof kt.onCommitFiberUnmount=="function")try{kt.onCommitFiberUnmount(Er,i)}catch{}switch(i.tag){case 5:ct||Yr(i,n);case 6:var s=it,u=Vt;it=null,An(e,n,i),it=s,Vt=u,it!==null&&(Vt?(e=it,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):it.removeChild(i.stateNode));break;case 18:it!==null&&(Vt?(e=it,i=i.stateNode,e.nodeType===8?ca(e.parentNode,i):e.nodeType===1&&ca(e,i),_i(e)):ca(it,i.stateNode));break;case 4:s=it,u=Vt,it=i.stateNode.containerInfo,Vt=!0,An(e,n,i),it=s,Vt=u;break;case 0:case 11:case 14:case 15:if(!ct&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){u=s=s.next;do{var f=u,w=f.destroy;f=f.tag,w!==void 0&&((f&2)!==0||(f&4)!==0)&&Qa(i,n,w),u=u.next}while(u!==s)}An(e,n,i);break;case 1:if(!ct&&(Yr(i,n),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(I){We(i,n,I)}An(e,n,i);break;case 21:An(e,n,i);break;case 22:i.mode&1?(ct=(s=ct)||i.memoizedState!==null,An(e,n,i),ct=s):An(e,n,i);break;default:An(e,n,i)}}function mf(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new l0),n.forEach(function(s){var u=y0.bind(null,e,s);i.has(s)||(i.add(s),s.then(u,u))})}}function Bt(e,n){var i=n.deletions;if(i!==null)for(var s=0;su&&(u=w),s&=~f}if(s=u,s=He()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*c0(s/1960))-s,10e?16:e,Dn===null)var s=!1;else{if(e=Dn,Dn=null,Ns=0,(Te&6)!==0)throw Error(o(331));var u=Te;for(Te|=4,he=e.current;he!==null;){var f=he,w=f.child;if((he.flags&16)!==0){var I=f.deletions;if(I!==null){for(var R=0;RHe()-eu?ur(e,0):Ja|=i),yt(e,n)}function Pf(e,n){n===0&&((e.mode&1)===0?n=1:(n=Cr,Cr<<=1,(Cr&130023424)===0&&(Cr=4194304)));var i=ft();e=hn(e,n),e!==null&&(Jn(e,n,i),yt(e,i))}function m0(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),Pf(e,i)}function y0(e,n){var i=0;switch(e.tag){case 13:var s=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(o(314))}s!==null&&s.delete(n),Pf(e,i)}var If;If=function(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps||ht.current)gt=!0;else{if((e.lanes&i)===0&&(n.flags&128)===0)return gt=!1,i0(e,n,i);gt=(e.flags&131072)!==0}else gt=!1,Fe&&(n.flags&1048576)!==0&&ad(n,rs,n.index);switch(n.lanes=0,n.tag){case 2:var s=n.type;vs(e,n),e=n.pendingProps;var u=Dr(n,lt.current);Br(n,i),u=Ta(null,n,s,e,u,i);var f=za();return n.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pt(s)?(f=!0,es(n)):f=!1,n.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ea(n),u.updater=ms,n.stateNode=u,u._reactInternals=n,Oa(n,s,e,i),n=Va(null,n,s,!0,f,i)):(n.tag=0,Fe&&f&&pa(n),dt(null,n,u,i),n=n.child),n;case 16:s=n.elementType;e:{switch(vs(e,n),e=n.pendingProps,u=s._init,s=u(s._payload),n.type=s,u=n.tag=x0(s),e=Ht(s,e),u){case 0:n=Ha(null,n,s,e,i);break e;case 1:n=tf(null,n,s,e,i);break e;case 11:n=Kd(null,n,s,e,i);break e;case 14:n=qd(null,n,s,Ht(s.type,e),i);break e}throw Error(o(306,s,""))}return n;case 0:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),Ha(e,n,s,u,i);case 1:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),tf(e,n,s,u,i);case 3:e:{if(nf(n),e===null)throw Error(o(387));s=n.pendingProps,f=n.memoizedState,u=f.element,yd(e,n),us(n,s,null,i);var w=n.memoizedState;if(s=w.element,f.isDehydrated)if(f={element:s,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){u=Wr(Error(o(423)),n),n=rf(e,n,s,i,u);break e}else if(s!==u){u=Wr(Error(o(424)),n),n=rf(e,n,s,i,u);break e}else for(jt=Pn(n.stateNode.containerInfo.firstChild),Ct=n,Fe=!0,Ft=null,i=gd(n,null,s,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Fr(),s===u){n=gn(e,n,i);break e}dt(e,n,s,i)}n=n.child}return n;case 5:return wd(n),e===null&&ya(n),s=n.type,u=n.pendingProps,f=e!==null?e.memoizedProps:null,w=u.children,aa(s,u)?w=null:f!==null&&aa(s,f)&&(n.flags|=32),ef(e,n),dt(e,n,w,i),n.child;case 6:return e===null&&ya(n),null;case 13:return of(e,n,i);case 4:return Na(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=Hr(n,null,s,i):dt(e,n,s,i),n.child;case 11:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),Kd(e,n,s,u,i);case 7:return dt(e,n,n.pendingProps,i),n.child;case 8:return dt(e,n,n.pendingProps.children,i),n.child;case 12:return dt(e,n,n.pendingProps.children,i),n.child;case 10:e:{if(s=n.type._context,u=n.pendingProps,f=n.memoizedProps,w=u.value,$e(ss,s._currentValue),s._currentValue=w,f!==null)if(bt(f.value,w)){if(f.children===u.children&&!ht.current){n=gn(e,n,i);break e}}else for(f=n.child,f!==null&&(f.return=n);f!==null;){var I=f.dependencies;if(I!==null){w=f.child;for(var R=I.firstContext;R!==null;){if(R.context===s){if(f.tag===1){R=pn(-1,i&-i),R.tag=2;var K=f.updateQueue;if(K!==null){K=K.shared;var oe=K.pending;oe===null?R.next=R:(R.next=oe.next,oe.next=R),K.pending=R}}f.lanes|=i,R=f.alternate,R!==null&&(R.lanes|=i),_a(f.return,i,n),I.lanes|=i;break}R=R.next}}else if(f.tag===10)w=f.type===n.type?null:f.child;else if(f.tag===18){if(w=f.return,w===null)throw Error(o(341));w.lanes|=i,I=w.alternate,I!==null&&(I.lanes|=i),_a(w,i,n),w=f.sibling}else w=f.child;if(w!==null)w.return=f;else for(w=f;w!==null;){if(w===n){w=null;break}if(f=w.sibling,f!==null){f.return=w.return,w=f;break}w=w.return}f=w}dt(e,n,u.children,i),n=n.child}return n;case 9:return u=n.type,s=n.pendingProps.children,Br(n,i),u=At(u),s=s(u),n.flags|=1,dt(e,n,s,i),n.child;case 14:return s=n.type,u=Ht(s,n.pendingProps),u=Ht(s.type,u),qd(e,n,s,u,i);case 15:return Zd(e,n,n.type,n.pendingProps,i);case 17:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),vs(e,n),n.tag=1,pt(s)?(e=!0,es(n)):e=!1,Br(n,i),Bd(n,s,u),Oa(n,s,u,i),Va(null,n,s,!0,e,i);case 19:return lf(e,n,i);case 22:return Jd(e,n,i)}throw Error(o(156,n.tag))};function Tf(e,n){return Io(e,n)}function v0(e,n,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ot(e,n,i,s){return new v0(e,n,i,s)}function au(e){return e=e.prototype,!(!e||!e.isReactComponent)}function x0(e){if(typeof e=="function")return au(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ee)return 11;if(e===B)return 14}return 2}function Fn(e,n){var i=e.alternate;return i===null?(i=Ot(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ps(e,n,i,s,u,f){var w=2;if(s=e,typeof e=="function")au(e)&&(w=1);else if(typeof e=="string")w=5;else e:switch(e){case H:return dr(i.children,u,f,n);case X:w=8,u|=8;break;case Q:return e=Ot(12,i,n,u|2),e.elementType=Q,e.lanes=f,e;case J:return e=Ot(13,i,n,u),e.elementType=J,e.lanes=f,e;case C:return e=Ot(19,i,n,u),e.elementType=C,e.lanes=f,e;case V:return Is(i,u,f,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case te:w=10;break e;case Z:w=9;break e;case ee:w=11;break e;case B:w=14;break e;case F:w=16,s=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return n=Ot(w,i,n,u),n.elementType=e,n.type=s,n.lanes=f,n}function dr(e,n,i,s){return e=Ot(7,e,s,n),e.lanes=i,e}function Is(e,n,i,s){return e=Ot(22,e,s,n),e.elementType=V,e.lanes=i,e.stateNode={isHidden:!1},e}function uu(e,n,i){return e=Ot(6,e,null,n),e.lanes=i,e}function cu(e,n,i){return n=Ot(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function w0(e,n,i,s,u){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Zn(0),this.expirationTimes=Zn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Zn(0),this.identifierPrefix=s,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function du(e,n,i,s,u,f,w,I,R){return e=new w0(e,n,i,I,R),n===1?(n=1,f===!0&&(n|=8)):n=0,f=Ot(3,null,null,n),e.current=f,f.stateNode=e,f.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ea(f),e}function S0(e,n,i){var s=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),yu.exports=R0(),yu.exports}var Wf;function L0(){if(Wf)return Ds;Wf=1;var t=rp();return Ds.createRoot=t.createRoot,Ds.hydrateRoot=t.hydrateRoot,Ds}var A0=L0();async function Pt(t,r){const o=await fetch(t,{...r,headers:{"Content-Type":"application/json",...(r==null?void 0:r.headers)||{}}});if(!o.ok){const l=await o.text();throw new Error(l||o.statusText)}return o.json()}const xt={health:()=>Pt("/api/health"),settings:()=>Pt("/api/settings"),saveSettings:t=>Pt("/api/settings",{method:"PUT",body:JSON.stringify(t)}),repos:()=>Pt("/api/repos"),index:(t,r=!0)=>Pt("/api/index",{method:"POST",body:JSON.stringify({repo_path:t,incremental:r})}),indexStatus:t=>Pt(`/api/index?repo_path=${encodeURIComponent(t)}`),architecture:t=>Pt(`/api/architecture?repo_path=${encodeURIComponent(t)}`),review:(t,r,o,l=!0)=>Pt("/api/review",{method:"POST",body:JSON.stringify({repo_path:t,base:r,head:o||null,reindex:l,incremental:!0,three_dot:!0})}),init:(t,r=!1)=>Pt("/api/init",{method:"POST",body:JSON.stringify({repo_path:t,overwrite:r})}),postComment:(t,r,o,l)=>Pt("/api/prs/comment",{method:"POST",body:JSON.stringify({provider:t,repo:r,number:o,markdown:l})}),graph:(t,r="full")=>Pt(`/api/graph?repo_path=${encodeURIComponent(t)}&scope=${r}`),prs:(t,r,o="open")=>Pt("/api/prs",{method:"POST",body:JSON.stringify({provider:t,repo:r,state:o})}),residual:t=>Pt("/api/ai/residual",{method:"POST",body:JSON.stringify({review:t})})};function $0(t){return t.replaceAll("_"," ")}function Qu(t){return t.split(".").pop()||t}function D0(t){if(!t)return"";const r=new Date(t);return Number.isNaN(r.getTime())?t:r.toLocaleString()}function O0(t){return t.split(/[\\/]/).filter(Boolean).pop()||t}function ho({className:t,children:r}){return v.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r})}function b0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("path",{d:"M3 3.5h6.5L13 7v5.5H3z"}),v.jsx("path",{d:"M9.5 3.5V7H13"}),v.jsx("path",{d:"M5.5 9.5h5M5.5 11.5h3.5"})]})}function F0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("rect",{x:"2.5",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"9",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"2.5",y:"9",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"9",y:"9",width:"4.5",height:"4.5",rx:"0.8"})]})}function H0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"4",cy:"8",r:"1.6"}),v.jsx("circle",{cx:"12",cy:"4",r:"1.6"}),v.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),v.jsx("path",{d:"M5.5 7.2 10.4 4.8M5.5 8.8 10.4 11.2"})]})}function V0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"4.5",cy:"4",r:"1.4"}),v.jsx("circle",{cx:"4.5",cy:"12",r:"1.4"}),v.jsx("circle",{cx:"11.5",cy:"12",r:"1.4"}),v.jsx("path",{d:"M4.5 5.5v5M4.5 8h4.2a3 3 0 0 1 3 3"})]})}function B0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"8",cy:"8",r:"2.1"}),v.jsx("path",{d:"M8 2.5v1.6M8 11.9v1.6M2.5 8h1.6M11.9 8h1.6M4.1 4.1l1.1 1.1M10.8 10.8l1.1 1.1M11.9 4.1l-1.1 1.1M5.2 10.8l-1.1 1.1"})]})}function Qe(t){if(typeof t=="string"||typeof t=="number")return""+t;let r="";if(Array.isArray(t))for(let o=0,l;o{}};function dl(){for(var t=0,r=arguments.length,o={},l;t=0&&(l=o.slice(a+1),o=o.slice(0,a)),o&&!r.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:l}})}Xs.prototype=dl.prototype={constructor:Xs,on:function(t,r){var o=this._,l=W0(t+"",o),a,c=-1,d=l.length;if(arguments.length<2){for(;++c0)for(var o=new Array(a),l=0,a,c;l=0&&(r=t.slice(0,o))!=="xmlns"&&(t=t.slice(o+1)),Xf.hasOwnProperty(r)?{space:Xf[r],local:t}:t}function X0(t){return function(){var r=this.ownerDocument,o=this.namespaceURI;return o===Lu&&r.documentElement.namespaceURI===Lu?r.createElement(t):r.createElementNS(o,t)}}function Q0(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ip(t){var r=fl(t);return(r.local?Q0:X0)(r)}function G0(){}function Gu(t){return t==null?G0:function(){return this.querySelector(t)}}function K0(t){typeof t!="function"&&(t=Gu(t));for(var r=this._groups,o=r.length,l=new Array(o),a=0;a=k&&(k=T+1);!(b=E[k])&&++k<_;);P._next=b||null}}return d=new Tt(d,l),d._enter=h,d._exit=p,d}function my(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function yy(){return new Tt(this._exit||this._groups.map(ap),this._parents)}function vy(t,r,o){var l=this.enter(),a=this,c=this.exit();return typeof t=="function"?(l=t(l),l&&(l=l.selection())):l=l.append(t+""),r!=null&&(a=r(a),a&&(a=a.selection())),o==null?c.remove():o(c),l&&a?l.merge(a).order():a}function xy(t){for(var r=t.selection?t.selection():t,o=this._groups,l=r._groups,a=o.length,c=l.length,d=Math.min(a,c),h=new Array(a),p=0;p=0;)(d=l[a])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function Sy(t){t||(t=_y);function r(x,m){return x&&m?t(x.__data__,m.__data__):!x-!m}for(var o=this._groups,l=o.length,a=new Array(l),c=0;cr?1:t>=r?0:NaN}function ky(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Ey(){return Array.from(this)}function Ny(){for(var t=this._groups,r=0,o=t.length;r1?this.each((r==null?$y:typeof r=="function"?Oy:Dy)(t,r,o??"")):ei(this.node(),t)}function ei(t,r){return t.style.getPropertyValue(r)||up(t).getComputedStyle(t,null).getPropertyValue(r)}function Fy(t){return function(){delete this[t]}}function Hy(t,r){return function(){this[t]=r}}function Vy(t,r){return function(){var o=r.apply(this,arguments);o==null?delete this[t]:this[t]=o}}function By(t,r){return arguments.length>1?this.each((r==null?Fy:typeof r=="function"?Vy:Hy)(t,r)):this.node()[t]}function cp(t){return t.trim().split(/^|\s+/)}function Ku(t){return t.classList||new dp(t)}function dp(t){this._node=t,this._names=cp(t.getAttribute("class")||"")}dp.prototype={add:function(t){var r=this._names.indexOf(t);r<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var r=this._names.indexOf(t);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function fp(t,r){for(var o=Ku(t),l=-1,a=r.length;++l=0&&(o=r.slice(l+1),r=r.slice(0,l)),{type:r,name:o}})}function yv(t){return function(){var r=this.__on;if(r){for(var o=0,l=-1,a=r.length,c;o()=>t;function Au(t,{sourceEvent:r,subject:o,target:l,identifier:a,active:c,x:d,y:h,dx:p,dy:y,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:y,enumerable:!0,configurable:!0},_:{value:g}})}Au.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function jv(t){return!t.ctrlKey&&!t.button}function Mv(){return this.parentNode}function Pv(t,r){return r??{x:t.x,y:t.y}}function Iv(){return navigator.maxTouchPoints||"ontouchstart"in this}function vp(){var t=jv,r=Mv,o=Pv,l=Iv,a={},c=dl("start","drag","end"),d=0,h,p,y,g,x=0;function m(P){P.on("mousedown.drag",S).filter(l).on("touchstart.drag",E).on("touchmove.drag",N,Cv).on("touchend.drag touchcancel.drag",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(P,b){if(!(g||!t.call(this,P,b))){var $=k(this,r.call(this,P,b),P,b,"mouse");$&&(It(P.view).on("mousemove.drag",_,no).on("mouseup.drag",M,no),mp(P.view),wu(P),y=!1,h=P.clientX,p=P.clientY,$("start",P))}}function _(P){if(Zr(P),!y){var b=P.clientX-h,$=P.clientY-p;y=b*b+$*$>x}a.mouse("drag",P)}function M(P){It(P.view).on("mousemove.drag mouseup.drag",null),yp(P.view,y),Zr(P),a.mouse("end",P)}function E(P,b){if(t.call(this,P,b)){var $=P.changedTouches,H=r.call(this,P,b),X=$.length,Q,te;for(Q=0;Q>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):o===8?bs(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):o===4?bs(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=zv.exec(t))?new wt(r[1],r[2],r[3],1):(r=Rv.exec(t))?new wt(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=Lv.exec(t))?bs(r[1],r[2],r[3],r[4]):(r=Av.exec(t))?bs(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=$v.exec(t))?eh(r[1],r[2]/100,r[3]/100,1):(r=Dv.exec(t))?eh(r[1],r[2]/100,r[3]/100,r[4]):Qf.hasOwnProperty(t)?qf(Qf[t]):t==="transparent"?new wt(NaN,NaN,NaN,0):null}function qf(t){return new wt(t>>16&255,t>>8&255,t&255,1)}function bs(t,r,o,l){return l<=0&&(t=r=o=NaN),new wt(t,r,o,l)}function Fv(t){return t instanceof go||(t=mr(t)),t?(t=t.rgb(),new wt(t.r,t.g,t.b,t.opacity)):new wt}function $u(t,r,o,l){return arguments.length===1?Fv(t):new wt(t,r,o,l??1)}function wt(t,r,o,l){this.r=+t,this.g=+r,this.b=+o,this.opacity=+l}qu(wt,$u,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new wt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new wt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new wt(pr(this.r),pr(this.g),pr(this.b),el(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:Zf,formatHex:Zf,formatHex8:Hv,formatRgb:Jf,toString:Jf}));function Zf(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}`}function Hv(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}${hr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jf(){const t=el(this.opacity);return`${t===1?"rgb(":"rgba("}${pr(this.r)}, ${pr(this.g)}, ${pr(this.b)}${t===1?")":`, ${t})`}`}function el(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function hr(t){return t=pr(t),(t<16?"0":"")+t.toString(16)}function eh(t,r,o,l){return l<=0?t=r=o=NaN:o<=0||o>=1?t=r=NaN:r<=0&&(t=NaN),new Yt(t,r,o,l)}function wp(t){if(t instanceof Yt)return new Yt(t.h,t.s,t.l,t.opacity);if(t instanceof go||(t=mr(t)),!t)return new Yt;if(t instanceof Yt)return t;t=t.rgb();var r=t.r/255,o=t.g/255,l=t.b/255,a=Math.min(r,o,l),c=Math.max(r,o,l),d=NaN,h=c-a,p=(c+a)/2;return h?(r===c?d=(o-l)/h+(o0&&p<1?0:d,new Yt(d,h,p,t.opacity)}function Vv(t,r,o,l){return arguments.length===1?wp(t):new Yt(t,r,o,l??1)}function Yt(t,r,o,l){this.h=+t,this.s=+r,this.l=+o,this.opacity=+l}qu(Yt,Vv,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new Yt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new Yt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,r=isNaN(t)||isNaN(this.s)?0:this.s,o=this.l,l=o+(o<.5?o:1-o)*r,a=2*o-l;return new wt(Su(t>=240?t-240:t+120,a,l),Su(t,a,l),Su(t<120?t+240:t-120,a,l),this.opacity)},clamp(){return new Yt(th(this.h),Fs(this.s),Fs(this.l),el(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=el(this.opacity);return`${t===1?"hsl(":"hsla("}${th(this.h)}, ${Fs(this.s)*100}%, ${Fs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function th(t){return t=(t||0)%360,t<0?t+360:t}function Fs(t){return Math.max(0,Math.min(1,t||0))}function Su(t,r,o){return(t<60?r+(o-r)*t/60:t<180?o:t<240?r+(o-r)*(240-t)/60:r)*255}const Zu=t=>()=>t;function Bv(t,r){return function(o){return t+o*r}}function Uv(t,r,o){return t=Math.pow(t,o),r=Math.pow(r,o)-t,o=1/o,function(l){return Math.pow(t+l*r,o)}}function Wv(t){return(t=+t)==1?Sp:function(r,o){return o-r?Uv(r,o,t):Zu(isNaN(r)?o:r)}}function Sp(t,r){var o=r-t;return o?Bv(t,o):Zu(isNaN(t)?r:t)}const tl=(function t(r){var o=Wv(r);function l(a,c){var d=o((a=$u(a)).r,(c=$u(c)).r),h=o(a.g,c.g),p=o(a.b,c.b),y=Sp(a.opacity,c.opacity);return function(g){return a.r=d(g),a.g=h(g),a.b=p(g),a.opacity=y(g),a+""}}return l.gamma=t,l})(1);function Yv(t,r){r||(r=[]);var o=t?Math.min(r.length,t.length):0,l=r.slice(),a;return function(c){for(a=0;ao&&(c=r.slice(o,c),h[d]?h[d]+=c:h[++d]=c),(l=l[0])===(a=a[0])?h[d]?h[d]+=a:h[++d]=a:(h[++d]=null,p.push({i:d,x:rn(l,a)})),o=_u.lastIndex;return o180?g+=360:g-y>180&&(y+=360),m.push({i:x.push(a(x)+"rotate(",null,l)-2,x:rn(y,g)})):g&&x.push(a(x)+"rotate("+g+l)}function h(y,g,x,m){y!==g?m.push({i:x.push(a(x)+"skewX(",null,l)-2,x:rn(y,g)}):g&&x.push(a(x)+"skewX("+g+l)}function p(y,g,x,m,S,_){if(y!==x||g!==m){var M=S.push(a(S)+"scale(",null,",",null,")");_.push({i:M-4,x:rn(y,x)},{i:M-2,x:rn(g,m)})}else(x!==1||m!==1)&&S.push(a(S)+"scale("+x+","+m+")")}return function(y,g){var x=[],m=[];return y=t(y),g=t(g),c(y.translateX,y.translateY,g.translateX,g.translateY,x,m),d(y.rotate,g.rotate,x,m),h(y.skewX,g.skewX,x,m),p(y.scaleX,y.scaleY,g.scaleX,g.scaleY,x,m),y=g=null,function(S){for(var _=-1,M=m.length,E;++_=0&&t._call.call(void 0,r),t=t._next;--ti}function ih(){yr=(rl=oo.now())+hl,ti=Zi=0;try{lx()}finally{ti=0,ux(),yr=0}}function ax(){var t=oo.now(),r=t-rl;r>Np&&(hl-=r,rl=t)}function ux(){for(var t,r=nl,o,l=1/0;r;)r._call?(l>r._time&&(l=r._time),t=r,r=r._next):(o=r._next,r._next=null,r=t?t._next=o:nl=o);Ji=t,bu(l)}function bu(t){if(!ti){Zi&&(Zi=clearTimeout(Zi));var r=t-yr;r>24?(t<1/0&&(Zi=setTimeout(ih,t-oo.now()-hl)),Ki&&(Ki=clearInterval(Ki))):(Ki||(rl=oo.now(),Ki=setInterval(ax,Np)),ti=1,Cp(ih))}}function oh(t,r,o){var l=new il;return r=r==null?0:+r,l.restart(a=>{l.stop(),t(a+r)},r,o),l}var cx=dl("start","end","cancel","interrupt"),dx=[],Mp=0,sh=1,Fu=2,Gs=3,lh=4,Hu=5,Ks=6;function pl(t,r,o,l,a,c){var d=t.__transition;if(!d)t.__transition={};else if(o in d)return;fx(t,o,{name:r,index:l,group:a,on:cx,tween:dx,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Mp})}function ec(t,r){var o=Kt(t,r);if(o.state>Mp)throw new Error("too late; already scheduled");return o}function sn(t,r){var o=Kt(t,r);if(o.state>Gs)throw new Error("too late; already running");return o}function Kt(t,r){var o=t.__transition;if(!o||!(o=o[r]))throw new Error("transition not found");return o}function fx(t,r,o){var l=t.__transition,a;l[r]=o,o.timer=jp(c,0,o.time);function c(y){o.state=sh,o.timer.restart(d,o.delay,o.time),o.delay<=y&&d(y-o.delay)}function d(y){var g,x,m,S;if(o.state!==sh)return p();for(g in l)if(S=l[g],S.name===o.name){if(S.state===Gs)return oh(d);S.state===lh?(S.state=Ks,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete l[g]):+gFu&&l.state=0&&(r=r.slice(0,o)),!r||r==="start"})}function Vx(t,r,o){var l,a,c=Hx(r)?ec:sn;return function(){var d=c(this,t),h=d.on;h!==l&&(a=(l=h).copy()).on(r,o),d.on=a}}function Bx(t,r){var o=this._id;return arguments.length<2?Kt(this.node(),o).on.on(t):this.each(Vx(o,t,r))}function Ux(t){return function(){var r=this.parentNode;for(var o in this.__transition)if(+o!==t)return;r&&r.removeChild(this)}}function Wx(){return this.on("end.remove",Ux(this._id))}function Yx(t){var r=this._name,o=this._id;typeof t!="function"&&(t=Gu(t));for(var l=this._groups,a=l.length,c=new Array(a),d=0;d()=>t;function yw(t,{sourceEvent:r,target:o,transform:l,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:a}})}function vn(t,r,o){this.k=t,this.x=r,this.y=o}vn.prototype={constructor:vn,scale:function(t){return t===1?this:new vn(this.k*t,this.x,this.y)},translate:function(t,r){return t===0&r===0?this:new vn(this.k,this.x+this.k*t,this.y+this.k*r)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var gl=new vn(1,0,0);zp.prototype=vn.prototype;function zp(t){for(;!t.__zoom;)if(!(t=t.parentNode))return gl;return t.__zoom}function ku(t){t.stopImmediatePropagation()}function qi(t){t.preventDefault(),t.stopImmediatePropagation()}function vw(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function xw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function ah(){return this.__zoom||gl}function ww(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Sw(){return navigator.maxTouchPoints||"ontouchstart"in this}function _w(t,r,o){var l=t.invertX(r[0][0])-o[0][0],a=t.invertX(r[1][0])-o[1][0],c=t.invertY(r[0][1])-o[0][1],d=t.invertY(r[1][1])-o[1][1];return t.translate(a>l?(l+a)/2:Math.min(0,l)||Math.max(0,a),d>c?(c+d)/2:Math.min(0,c)||Math.max(0,d))}function Rp(){var t=vw,r=xw,o=_w,l=ww,a=Sw,c=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],h=250,p=Qs,y=dl("start","zoom","end"),g,x,m,S=500,_=150,M=0,E=10;function N(C){C.property("__zoom",ah).on("wheel.zoom",X,{passive:!1}).on("mousedown.zoom",Q).on("dblclick.zoom",te).filter(a).on("touchstart.zoom",Z).on("touchmove.zoom",ee).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}N.transform=function(C,B,F,V){var A=C.selection?C.selection():C;A.property("__zoom",ah),C!==A?b(C,B,F,V):A.interrupt().each(function(){$(this,arguments).event(V).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},N.scaleBy=function(C,B,F,V){N.scaleTo(C,function(){var A=this.__zoom.k,L=typeof B=="function"?B.apply(this,arguments):B;return A*L},F,V)},N.scaleTo=function(C,B,F,V){N.transform(C,function(){var A=r.apply(this,arguments),L=this.__zoom,O=F==null?P(A):typeof F=="function"?F.apply(this,arguments):F,j=L.invert(O),z=typeof B=="function"?B.apply(this,arguments):B;return o(k(T(L,z),O,j),A,d)},F,V)},N.translateBy=function(C,B,F,V){N.transform(C,function(){return o(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof F=="function"?F.apply(this,arguments):F),r.apply(this,arguments),d)},null,V)},N.translateTo=function(C,B,F,V,A){N.transform(C,function(){var L=r.apply(this,arguments),O=this.__zoom,j=V==null?P(L):typeof V=="function"?V.apply(this,arguments):V;return o(gl.translate(j[0],j[1]).scale(O.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof F=="function"?-F.apply(this,arguments):-F),L,d)},V,A)};function T(C,B){return B=Math.max(c[0],Math.min(c[1],B)),B===C.k?C:new vn(B,C.x,C.y)}function k(C,B,F){var V=B[0]-F[0]*C.k,A=B[1]-F[1]*C.k;return V===C.x&&A===C.y?C:new vn(C.k,V,A)}function P(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function b(C,B,F,V){C.on("start.zoom",function(){$(this,arguments).event(V).start()}).on("interrupt.zoom end.zoom",function(){$(this,arguments).event(V).end()}).tween("zoom",function(){var A=this,L=arguments,O=$(A,L).event(V),j=r.apply(A,L),z=F==null?P(j):typeof F=="function"?F.apply(A,L):F,ne=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),re=A.__zoom,ue=typeof B=="function"?B.apply(A,L):B,ce=p(re.invert(z).concat(ne/re.k),ue.invert(z).concat(ne/ue.k));return function(de){if(de===1)de=ue;else{var G=ce(de),se=ne/G[2];de=new vn(se,z[0]-G[0]*se,z[1]-G[1]*se)}O.zoom(null,de)}})}function $(C,B,F){return!F&&C.__zooming||new H(C,B)}function H(C,B){this.that=C,this.args=B,this.active=0,this.sourceEvent=null,this.extent=r.apply(C,B),this.taps=0}H.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,B){return this.mouse&&C!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var B=It(this.that).datum();y.call(C,this.that,new yw(C,{sourceEvent:this.sourceEvent,target:N,transform:this.that.__zoom,dispatch:y}),B)}};function X(C,...B){if(!t.apply(this,arguments))return;var F=$(this,B).event(C),V=this.__zoom,A=Math.max(c[0],Math.min(c[1],V.k*Math.pow(2,l.apply(this,arguments)))),L=Wt(C);if(F.wheel)(F.mouse[0][0]!==L[0]||F.mouse[0][1]!==L[1])&&(F.mouse[1]=V.invert(F.mouse[0]=L)),clearTimeout(F.wheel);else{if(V.k===A)return;F.mouse=[L,V.invert(L)],qs(this),F.start()}qi(C),F.wheel=setTimeout(O,_),F.zoom("mouse",o(k(T(V,A),F.mouse[0],F.mouse[1]),F.extent,d));function O(){F.wheel=null,F.end()}}function Q(C,...B){if(m||!t.apply(this,arguments))return;var F=C.currentTarget,V=$(this,B,!0).event(C),A=It(C.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",ne,!0),L=Wt(C,F),O=C.clientX,j=C.clientY;mp(C.view),ku(C),V.mouse=[L,this.__zoom.invert(L)],qs(this),V.start();function z(re){if(qi(re),!V.moved){var ue=re.clientX-O,ce=re.clientY-j;V.moved=ue*ue+ce*ce>M}V.event(re).zoom("mouse",o(k(V.that.__zoom,V.mouse[0]=Wt(re,F),V.mouse[1]),V.extent,d))}function ne(re){A.on("mousemove.zoom mouseup.zoom",null),yp(re.view,V.moved),qi(re),V.event(re).end()}}function te(C,...B){if(t.apply(this,arguments)){var F=this.__zoom,V=Wt(C.changedTouches?C.changedTouches[0]:C,this),A=F.invert(V),L=F.k*(C.shiftKey?.5:2),O=o(k(T(F,L),V,A),r.apply(this,B),d);qi(C),h>0?It(this).transition().duration(h).call(b,O,V,C):It(this).call(N.transform,O,V,C)}}function Z(C,...B){if(t.apply(this,arguments)){var F=C.touches,V=F.length,A=$(this,B,C.changedTouches.length===V).event(C),L,O,j,z;for(ku(C),O=0;O`Seems like you have not used ${t==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:r,sourceHandle:o,targetHandle:l})=>`Couldn't create edge for ${t} handle id: "${t==="source"?o:l}", edge id: ${r}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},so=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Lp=["Enter"," ","Escape"],Ap={"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:t,x:r,y:o})=>`Moved selected node ${t}. New position, x: ${r}, y: ${o}`,"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"};var ni;(function(t){t.Strict="strict",t.Loose="loose"})(ni||(ni={}));var gr;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(gr||(gr={}));var lo;(function(t){t.Partial="partial",t.Full="full"})(lo||(lo={}));const $p={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Wn;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Wn||(Wn={}));var ol;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(ol||(ol={}));var _e;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(_e||(_e={}));const uh={[_e.Left]:_e.Right,[_e.Right]:_e.Left,[_e.Top]:_e.Bottom,[_e.Bottom]:_e.Top};function Dp(t){return t===null?null:t?"valid":"invalid"}const Op=t=>!!t&&typeof t=="object"&&"id"in t&&"source"in t&&"target"in t,kw=t=>!!t&&typeof t=="object"&&"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),nc=t=>!!t&&typeof t=="object"&&"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),mo=(t,r=[0,0])=>{const{width:o,height:l}=qt(t),a=t.origin??r,c=o*a[0],d=l*a[1];return{x:t.position.x-c,y:t.position.y-d}},Ew=(t,r={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let o=!1;const l=t.reduce((a,c)=>{const d=typeof c=="string";let h=!r.nodeLookup&&!d?c:void 0;return r.nodeLookup&&(h=d?r.nodeLookup.get(c):nc(c)?c:r.nodeLookup.get(c.id)),h?(o=!0,ml(a,sl(h,r.nodeOrigin))):a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return o?yl(l):{x:0,y:0,width:0,height:0}},yo=(t,r={})=>{let o={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return t.forEach(a=>{(r.filter===void 0||r.filter(a))&&(o=ml(o,sl(a)),l=!0)}),l?yl(o):{x:0,y:0,width:0,height:0}},rc=(t,r,[o,l,a]=[0,0,1],c=!1,d=!1)=>{const h=(r.x-o)/a,p=(r.y-l)/a,y=r.width/a,g=r.height/a,x=[];for(const m of t.values()){const{measured:S,selectable:_=!0,hidden:M=!1}=m;if(d&&!_||M)continue;const E=S.width??m.width??m.initialWidth??0,N=S.height??m.height??m.initialHeight??0,{x:T,y:k}=m.internals.positionAbsolute,P=Vp(h,p,y,g,T,k,E,N),b=E*N,$=c&&P>0;(!m.internals.handleBounds||$||P>=b||m.dragging)&&x.push(m)}return x},Nw=(t,r)=>{const o=new Set;return t.forEach(l=>{o.add(l.id)}),r.filter(l=>o.has(l.source)||o.has(l.target))};function Cw(t,r){const o=new Map,l=r!=null&&r.nodes?new Set(r.nodes.map(a=>a.id)):null;return t.forEach(a=>{let c;if(r!=null&&r.includeHiddenNodes){const{width:d,height:h}=qt(a);c=d>0&&h>0}else c=!!(a.measured.width&&a.measured.height&&!a.hidden);c&&(!l||l.has(a.id))&&o.set(a.id,a)}),o}async function jw({nodes:t,width:r,height:o,panZoom:l,minZoom:a,maxZoom:c},d){if(t.size===0)return!0;const h=Cw(t,d),p=yo(h),y=oc(p,r,o,(d==null?void 0:d.minZoom)??a,(d==null?void 0:d.maxZoom)??c,(d==null?void 0:d.padding)??.1);return await l.setViewport(y,{duration:d==null?void 0:d.duration,ease:d==null?void 0:d.ease,interpolate:d==null?void 0:d.interpolate}),!0}function bp({nodeId:t,nextPosition:r,nodeLookup:o,nodeOrigin:l=[0,0],nodeExtent:a,onError:c}){const d=o.get(t),h=d.parentId?o.get(d.parentId):void 0,{x:p,y}=h?h.internals.positionAbsolute:{x:0,y:0},g=d.origin??l;let x=d.extent||a;if(d.extent==="parent"&&!d.expandParent)if(!h)c==null||c("005",Gt.error005());else{const{width:S,height:_}=qt(h);S&&_&&(x=[[p,y],[p+S,y+_]])}else h&&xr(d.extent)&&(x=[[d.extent[0][0]+p,d.extent[0][1]+y],[d.extent[1][0]+p,d.extent[1][1]+y]]);const m=xr(x)?vr(r,x,d.measured):r;return(d.measured.width===void 0||d.measured.height===void 0)&&(c==null||c("015",Gt.error015())),{position:{x:m.x-p+(d.measured.width??0)*g[0],y:m.y-y+(d.measured.height??0)*g[1]},positionAbsolute:m}}async function Mw({nodesToRemove:t=[],edgesToRemove:r=[],nodes:o,edges:l,onBeforeDelete:a}){const c=new Set(t.map(m=>m.id)),d=[];for(const m of o){if(m.deletable===!1)continue;const S=c.has(m.id),_=!S&&m.parentId&&d.find(M=>M.id===m.parentId);(S||_)&&d.push(m)}const h=new Set(r.map(m=>m.id)),p=l.filter(m=>m.deletable!==!1),g=Nw(d,p);for(const m of p)h.has(m.id)&&!g.find(_=>_.id===m.id)&&g.push(m);if(!a)return{edges:g,nodes:d};const x=await a({nodes:d,edges:g});return typeof x=="boolean"?x?{edges:g,nodes:d}:{edges:[],nodes:[]}:x}const ri=(t,r=0,o=1)=>Math.min(Math.max(t,r),o),vr=(t={x:0,y:0},r,o)=>({x:ri(t.x,r[0][0],r[1][0]-((o==null?void 0:o.width)??0)),y:ri(t.y,r[0][1],r[1][1]-((o==null?void 0:o.height)??0))});function Fp(t,r,o){const{width:l,height:a}=qt(o),{x:c,y:d}=o.internals.positionAbsolute;return vr(t,[[c,d],[c+l,d+a]],r)}const ch=(t,r,o)=>to?-ri(Math.abs(t-o),1,r)/r:0,ic=(t,r,o=15,l=40)=>{const a=ch(t.x,l,r.width-l)*o,c=ch(t.y,l,r.height-l)*o;return[a,c]},ml=(t,r)=>({x:Math.min(t.x,r.x),y:Math.min(t.y,r.y),x2:Math.max(t.x2,r.x2),y2:Math.max(t.y2,r.y2)}),Vu=({x:t,y:r,width:o,height:l})=>({x:t,y:r,x2:t+o,y2:r+l}),yl=({x:t,y:r,x2:o,y2:l})=>({x:t,y:r,width:o-t,height:l-r}),ao=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,width:((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0,height:((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0}},sl=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,x2:o+(((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0),y2:l+(((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0)}},Hp=(t,r)=>yl(ml(Vu(t),Vu(r))),Vp=(t,r,o,l,a,c,d,h)=>{const p=Math.max(0,Math.min(t+o,a+d)-Math.max(t,a)),y=Math.max(0,Math.min(r+l,c+h)-Math.max(r,c));return Math.ceil(p*y)},ll=(t,r)=>Vp(t.x,t.y,t.width,t.height,r.x,r.y,r.width,r.height),dh=t=>Xt(t.width)&&Xt(t.height)&&Xt(t.x)&&Xt(t.y),Xt=t=>!isNaN(t)&&isFinite(t),Bp=(t,r)=>(o,l)=>{},vo=(t,r=[1,1])=>({x:r[0]*Math.round(t.x/r[0]),y:r[1]*Math.round(t.y/r[1])}),xo=({x:t,y:r},[o,l,a],c=!1,d=[1,1])=>{const h={x:(t-o)/a,y:(r-l)/a};return c?vo(h,d):h},ii=({x:t,y:r},[o,l,a])=>({x:t*a+o,y:r*a+l});function Kr(t,r){if(typeof t=="number")return Math.floor((r-r/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(o)}if(typeof t=="string"&&t.endsWith("%")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(r*o*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Pw(t,r,o){if(typeof t=="string"||typeof t=="number"){const l=Kr(t,o),a=Kr(t,r);return{top:l,right:a,bottom:l,left:a,x:a*2,y:l*2}}if(typeof t=="object"){const l=Kr(t.top??t.y??0,o),a=Kr(t.bottom??t.y??0,o),c=Kr(t.left??t.x??0,r),d=Kr(t.right??t.x??0,r);return{top:l,right:d,bottom:a,left:c,x:c+d,y:l+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Iw(t,r,o,l,a,c){const{x:d,y:h}=ii(t,[r,o,l]),{x:p,y}=ii({x:t.x+t.width,y:t.y+t.height},[r,o,l]),g=a-p,x=c-y;return{left:Math.floor(d),top:Math.floor(h),right:Math.floor(g),bottom:Math.floor(x)}}const oc=(t,r,o,l,a,c)=>{const d=Pw(c,r,o),h=(r-d.x)/t.width,p=(o-d.y)/t.height,y=Math.min(h,p),g=ri(y,l,a),x=t.x+t.width/2,m=t.y+t.height/2,S=r/2-x*g,_=o/2-m*g,M=Iw(t,S,_,g,r,o),E={left:Math.min(M.left-d.left,0),top:Math.min(M.top-d.top,0),right:Math.min(M.right-d.right,0),bottom:Math.min(M.bottom-d.bottom,0)};return{x:S-E.left+E.right,y:_-E.top+E.bottom,zoom:g}},uo=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0};function xr(t){return t!=null&&t!=="parent"}function qt(t){var r,o;return{width:((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth??0,height:((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight??0}}function Up(t){var r,o;return(((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth)!==void 0&&(((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight)!==void 0}function Wp(t,r={width:0,height:0},o,l,a){const c={...t},d=l.get(o);if(d){const h=d.origin||a;c.x+=d.internals.positionAbsolute.x-(r.width??0)*h[0],c.y+=d.internals.positionAbsolute.y-(r.height??0)*h[1]}return c}function fh(t,r){if(t.size!==r.size)return!1;for(const o of t)if(!r.has(o))return!1;return!0}function Tw(){let t,r;return{promise:new Promise((l,a)=>{t=l,r=a}),resolve:t,reject:r}}function zw(t){return{...Ap,...t||{}}}function to(t,{snapGrid:r=[0,0],snapToGrid:o=!1,transform:l,containerBounds:a}){const{x:c,y:d}=Qt(t),h=xo({x:c-((a==null?void 0:a.left)??0),y:d-((a==null?void 0:a.top)??0)},l),{x:p,y}=o?vo(h,r):h;return{xSnapped:p,ySnapped:y,...h}}const sc=t=>({width:t.offsetWidth,height:t.offsetHeight}),Yp=t=>{var r;return((r=t==null?void 0:t.getRootNode)==null?void 0:r.call(t))||(window==null?void 0:window.document)},Rw=["INPUT","SELECT","TEXTAREA"];function Xp(t){var l,a;const r=((a=(l=t.composedPath)==null?void 0:l.call(t))==null?void 0:a[0])||t.target;return(r==null?void 0:r.nodeType)!==1?!1:Rw.includes(r.nodeName)||r.hasAttribute("contenteditable")||!!r.closest(".nokey")}const Qp=t=>"clientX"in t,Qt=(t,r)=>{var c,d;const o=Qp(t),l=o?t.clientX:(c=t.touches)==null?void 0:c[0].clientX,a=o?t.clientY:(d=t.touches)==null?void 0:d[0].clientY;return{x:l-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)}},hh=(t,r,o,l,a)=>{const c=r.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(d=>{const h=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:t,nodeId:a,position:d.getAttribute("data-handlepos"),x:(h.left-o.left)/l,y:(h.top-o.top)/l,...sc(d)}})};function Gp({sourceX:t,sourceY:r,targetX:o,targetY:l,sourceControlX:a,sourceControlY:c,targetControlX:d,targetControlY:h}){const p=t*.125+a*.375+d*.375+o*.125,y=r*.125+c*.375+h*.375+l*.125,g=Math.abs(p-t),x=Math.abs(y-r);return[p,y,g,x]}function Bs(t,r){return t>=0?.5*t:r*25*Math.sqrt(-t)}function ph({pos:t,x1:r,y1:o,x2:l,y2:a,c}){switch(t){case _e.Left:return[r-Bs(r-l,c),o];case _e.Right:return[r+Bs(l-r,c),o];case _e.Top:return[r,o-Bs(o-a,c)];case _e.Bottom:return[r,o+Bs(a-o,c)]}}function Kp({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top,curvature:d=.25}){const[h,p]=ph({pos:o,x1:t,y1:r,x2:l,y2:a,c:d}),[y,g]=ph({pos:c,x1:l,y1:a,x2:t,y2:r,c:d}),[x,m,S,_]=Gp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:h,sourceControlY:p,targetControlX:y,targetControlY:g});return[`M${t},${r} C${h},${p} ${y},${g} ${l},${a}`,x,m,S,_]}function qp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const a=Math.abs(o-t)/2,c=o0}const $w=({source:t,sourceHandle:r,target:o,targetHandle:l})=>`xy-edge__${t}${r||""}-${o}${l||""}`,Dw=(t,r)=>r.some(o=>o.source===t.source&&o.target===t.target&&(o.sourceHandle===t.sourceHandle||!o.sourceHandle&&!t.sourceHandle)&&(o.targetHandle===t.targetHandle||!o.targetHandle&&!t.targetHandle)),Ow=(t,r,o={})=>{var c;if(!t.source||!t.target)return(c=o.onError)==null||c.call(o,"006",Gt.error006()),r;const l=o.getEdgeId||$w;let a;return Op(t)?a={...t}:a={...t,id:l(t)},Dw(a,r)?r:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,r.concat(a))};function Zp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const[a,c,d,h]=qp({sourceX:t,sourceY:r,targetX:o,targetY:l});return[`M ${t},${r}L ${o},${l}`,a,c,d,h]}const gh={[_e.Left]:{x:-1,y:0},[_e.Right]:{x:1,y:0},[_e.Top]:{x:0,y:-1},[_e.Bottom]:{x:0,y:1}},bw=({source:t,sourcePosition:r=_e.Bottom,target:o})=>r===_e.Left||r===_e.Right?t.xMath.sqrt(Math.pow(r.x-t.x,2)+Math.pow(r.y-t.y,2));function Fw({source:t,sourcePosition:r=_e.Bottom,target:o,targetPosition:l=_e.Top,center:a,offset:c,stepPosition:d}){const h=gh[r],p=gh[l],y={x:t.x+h.x*c,y:t.y+h.y*c},g={x:o.x+p.x*c,y:o.y+p.y*c},x=bw({source:y,sourcePosition:r,target:g}),m=x.x!==0?"x":"y",S=x[m];let _=[],M,E;const N={x:0,y:0},T={x:0,y:0},[,,k,P]=qp({sourceX:t.x,sourceY:t.y,targetX:o.x,targetY:o.y});if(h[m]*p[m]===-1){m==="x"?(M=a.x??y.x+(g.x-y.x)*d,E=a.y??(y.y+g.y)/2):(M=a.x??(y.x+g.x)/2,E=a.y??y.y+(g.y-y.y)*d);const X=[{x:M,y:y.y},{x:M,y:g.y}],Q=[{x:y.x,y:E},{x:g.x,y:E}];h[m]===S?_=m==="x"?X:Q:_=m==="x"?Q:X}else{const X=[{x:y.x,y:g.y}],Q=[{x:g.x,y:y.y}];if(m==="x"?_=h.x===S?Q:X:_=h.y===S?X:Q,r===l){const C=Math.abs(t[m]-o[m]);if(C<=c){const B=Math.min(c-1,c-C);h[m]===S?N[m]=(y[m]>t[m]?-1:1)*B:T[m]=(g[m]>o[m]?-1:1)*B}}if(r!==l){const C=m==="x"?"y":"x",B=h[m]===p[C],F=y[C]>g[C],V=y[C]=J?(M=(te.x+Z.x)/2,E=_[0].y):(M=_[0].x,E=(te.y+Z.y)/2)}const b={x:y.x+N.x,y:y.y+N.y},$={x:g.x+T.x,y:g.y+T.y};return[[t,...b.x!==_[0].x||b.y!==_[0].y?[b]:[],..._,...$.x!==_[_.length-1].x||$.y!==_[_.length-1].y?[$]:[],o],M,E,k,P]}function Hw(t,r,o,l){const a=Math.min(mh(t,r)/2,mh(r,o)/2,l),{x:c,y:d}=r;if(t.x===c&&c===o.x||t.y===d&&d===o.y)return`L${c} ${d}`;if(t.y===d){const y=t.xo.id===r):t[0])||null}function Uu(t,r){return t?typeof t=="string"?t:`${r?`${r}__`:""}${Object.keys(t).sort().map(l=>`${l}=${t[l]}`).join("&")}`:""}function Bw(t,{id:r,defaultColor:o,defaultMarkerStart:l,defaultMarkerEnd:a}){const c=new Set;return t.reduce((d,h)=>([h.markerStart||l,h.markerEnd||a].forEach(p=>{if(p&&typeof p=="object"){const y=Uu(p,r);c.has(y)||(d.push({id:y,color:p.color||o,...p}),c.add(y))}}),d),[]).sort((d,h)=>d.id.localeCompare(h.id))}const Jp=1e3,Uw=10,lc={nodeOrigin:[0,0],nodeExtent:so,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Ww={...lc,checkEquality:!0};function ac(t,r){const o={...t};for(const l in r)r[l]!==void 0&&(o[l]=r[l]);return o}function Yw(t,r,o){const l=ac(lc,o);for(const a of t.values())if(a.parentId)cc(a,t,r,l);else{const c=mo(a,l.nodeOrigin),d=xr(a.extent)?a.extent:l.nodeExtent,h=vr(c,d,qt(a));a.internals.positionAbsolute=h}}function Xw(t,r){if(!t.handles)return t.measured?r==null?void 0:r.internals.handleBounds:void 0;const o=[],l=[];for(const a of t.handles){const c={id:a.id,width:a.width??1,height:a.height??1,nodeId:t.id,x:a.x,y:a.y,position:a.position,type:a.type};a.type==="source"?o.push(c):a.type==="target"&&l.push(c)}return{source:o,target:l}}function uc(t){return t==="manual"}function Wu(t,r,o,l={}){var g,x;const a=ac(Ww,l),c={i:0},d=new Map(r),h=a!=null&&a.elevateNodesOnSelect&&!uc(a.zIndexMode)?Jp:0;let p=t.length>0,y=!1;r.clear(),o.clear();for(const m of t){let S=d.get(m.id);if(a.checkEquality&&m===(S==null?void 0:S.internals.userNode))r.set(m.id,S);else{const _=mo(m,a.nodeOrigin),M=xr(m.extent)?m.extent:a.nodeExtent,E=vr(_,M,qt(m));S={...a.defaults,...m,measured:{width:(g=m.measured)==null?void 0:g.width,height:(x=m.measured)==null?void 0:x.height},internals:{positionAbsolute:E,handleBounds:Xw(m,S),z:eg(m,h,a.zIndexMode),userNode:m}},r.set(m.id,S)}(S.measured===void 0||S.measured.width===void 0||S.measured.height===void 0)&&!S.hidden&&(p=!1),m.parentId&&cc(S,r,o,l,c),y||(y=m.selected??!1)}return{nodesInitialized:p,hasSelectedNodes:y}}function Qw(t,r){if(!t.parentId)return;const o=r.get(t.parentId);o?o.set(t.id,t):r.set(t.parentId,new Map([[t.id,t]]))}function cc(t,r,o,l,a){const{elevateNodesOnSelect:c,nodeOrigin:d,nodeExtent:h,zIndexMode:p}=ac(lc,l),y=t.parentId,g=r.get(y);if(!g){console.warn(`Parent node ${y} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Qw(t,o),a&&!g.parentId&&g.internals.rootParentIndex===void 0&&p==="auto"&&(g.internals.rootParentIndex=++a.i,g.internals.z=g.internals.z+a.i*Uw),a&&g.internals.rootParentIndex!==void 0&&(a.i=g.internals.rootParentIndex);const x=c&&!uc(p)?Jp:0,{x:m,y:S,z:_}=Gw(t,g,d,h,x,p),{positionAbsolute:M}=t.internals,E=m!==M.x||S!==M.y;(E||_!==t.internals.z)&&r.set(t.id,{...t,internals:{...t.internals,positionAbsolute:E?{x:m,y:S}:M,z:_}})}function eg(t,r,o){const l=Xt(t.zIndex)?t.zIndex:0;return uc(o)?l:l+(t.selected?r:0)}function Gw(t,r,o,l,a,c){const{x:d,y:h}=r.internals.positionAbsolute,p=qt(t),y=mo(t,o),g=xr(t.extent)?vr(y,t.extent,p):y;let x=vr({x:d+g.x,y:h+g.y},l,p);t.extent==="parent"&&(x=Fp(x,p,r));const m=eg(t,a,c),S=r.internals.z??0;return{x:x.x,y:x.y,z:S>=m?S+1:m}}function dc(t,r,o,l=[0,0]){var d;const a=[],c=new Map;for(const h of t){const p=r.get(h.parentId);if(!p)continue;const y=((d=c.get(h.parentId))==null?void 0:d.expandedRect)??ao(p),g=Hp(y,h.rect);c.set(h.parentId,{expandedRect:g,parent:p})}return c.size>0&&c.forEach(({expandedRect:h,parent:p},y)=>{var k;const g=p.internals.positionAbsolute,x=qt(p),m=p.origin??l,S=h.x0||_>0||N||T)&&(a.push({id:y,type:"position",position:{x:p.position.x-S+N,y:p.position.y-_+T}}),(k=o.get(y))==null||k.forEach(P=>{t.some(b=>b.id===P.id)||a.push({id:P.id,type:"position",position:{x:P.position.x+S,y:P.position.y+_}})})),(x.width0){const S=dc(m,r,o,a);y.push(...S)}return{changes:y,updatedInternals:p}}async function qw({delta:t,panZoom:r,transform:o,translateExtent:l,width:a,height:c}){if(!r||!t.x&&!t.y)return!1;const d=await r.setViewportConstrained({x:o[0]+t.x,y:o[1]+t.y,zoom:o[2]},[[0,0],[a,c]],l);return!!d&&(d.x!==o[0]||d.y!==o[1]||d.k!==o[2])}function wh(t,r,o,l,a,c){let d=a;const h=l.get(d)||new Map;l.set(d,h.set(o,r)),d=`${a}-${t}`;const p=l.get(d)||new Map;if(l.set(d,p.set(o,r)),c){d=`${a}-${t}-${c}`;const y=l.get(d)||new Map;l.set(d,y.set(o,r))}}function tg(t,r,o){t.clear(),r.clear();for(const l of o){const{source:a,target:c,sourceHandle:d=null,targetHandle:h=null}=l,p={edgeId:l.id,source:a,target:c,sourceHandle:d,targetHandle:h},y=`${a}-${d}--${c}-${h}`,g=`${c}-${h}--${a}-${d}`;wh("source",p,g,t,a,d),wh("target",p,y,t,c,h),r.set(l.id,l)}}function ng(t,r){if(!t.parentId)return!1;const o=r.get(t.parentId);return o?o.selected?!0:ng(o,r):!1}function Sh(t,r,o){var a;let l=t;do{if((a=l==null?void 0:l.matches)!=null&&a.call(l,r))return!0;if(l===o)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function Zw(t,r,o,l){const a=new Map;for(const[c,d]of t)if((d.selected||d.id===l)&&(!d.parentId||!ng(d,t))&&(d.draggable||r&&typeof d.draggable>"u")){const h=t.get(c);h&&a.set(c,{id:c,position:h.position||{x:0,y:0},distance:{x:o.x-h.internals.positionAbsolute.x,y:o.y-h.internals.positionAbsolute.y},extent:h.extent,parentId:h.parentId,origin:h.origin,expandParent:h.expandParent,internals:{positionAbsolute:h.internals.positionAbsolute||{x:0,y:0}},measured:{width:h.measured.width??0,height:h.measured.height??0}})}return a}function Eu({nodeId:t,dragItems:r,nodeLookup:o,dragging:l=!0}){var d,h,p;const a=[];for(const[y,g]of r){const x=(d=o.get(y))==null?void 0:d.internals.userNode;x&&a.push({...x,position:g.position,dragging:l})}if(!t)return[a[0],a];const c=(h=o.get(t))==null?void 0:h.internals.userNode;return[c?{...c,position:((p=r.get(t))==null?void 0:p.position)||c.position,dragging:l}:a[0],a]}function Jw({dragItems:t,snapGrid:r,x:o,y:l}){const a=t.values().next().value;if(!a)return null;const c={x:o-a.distance.x,y:l-a.distance.y},d=vo(c,r);return{x:d.x-c.x,y:d.y-c.y}}function e1({onNodeMouseDown:t,getStoreItems:r,onDragStart:o,onDrag:l,onDragStop:a}){let c={x:null,y:null},d=0,h=new Map,p=!1,y={x:0,y:0},g=null,x=!1,m=null,S=!1,_=!1,M=null;function E({noDragClassName:T,handleSelector:k,domNode:P,isSelectable:b,nodeId:$,nodeClickDistance:H=0}){m=It(P);function X({x:ee,y:J}){const{nodeLookup:C,nodeExtent:B,snapGrid:F,snapToGrid:V,nodeOrigin:A,onNodeDrag:L,onSelectionDrag:O,onError:j,updateNodePositions:z}=r();c={x:ee,y:J};let ne=!1;const re=h.size>1,ue=re&&B?Vu(yo(h)):null,ce=re&&V?Jw({dragItems:h,snapGrid:F,x:ee,y:J}):null;for(const[de,G]of h){if(!C.has(de))continue;let se={x:ee-G.distance.x,y:J-G.distance.y};V&&(se=ce?{x:Math.round(se.x+ce.x),y:Math.round(se.y+ce.y)}:vo(se,F));let pe=null;if(re&&B&&!G.extent&&ue){const{positionAbsolute:me}=G.internals,Ce=me.x-ue.x+B[0][0],je=me.x+G.measured.width-ue.x2+B[1][0],Pe=me.y-ue.y+B[0][1],Le=me.y+G.measured.height-ue.y2+B[1][1];pe=[[Ce,Pe],[je,Le]]}const{position:we,positionAbsolute:ve}=bp({nodeId:de,nextPosition:se,nodeLookup:C,nodeExtent:pe||B,nodeOrigin:A,onError:j});ne=ne||G.position.x!==we.x||G.position.y!==we.y,G.position=we,G.internals.positionAbsolute=ve}if(_=_||ne,!!ne&&(z(h,!0),M&&(l||L||!$&&O))){const[de,G]=Eu({nodeId:$,dragItems:h,nodeLookup:C});l==null||l(M,h,de,G),L==null||L(M,de,G),$||O==null||O(M,G)}}async function Q(){if(!g)return;const{transform:ee,panBy:J,autoPanSpeed:C,autoPanOnNodeDrag:B}=r();if(!B){p=!1,cancelAnimationFrame(d);return}const[F,V]=ic(y,g,C);(F!==0||V!==0)&&(c.x=(c.x??0)-F/ee[2],c.y=(c.y??0)-V/ee[2],await J({x:F,y:V})&&X(c)),d=requestAnimationFrame(Q)}function te(ee){var re;const{nodeLookup:J,multiSelectionActive:C,nodesDraggable:B,transform:F,snapGrid:V,snapToGrid:A,selectNodesOnDrag:L,onNodeDragStart:O,onSelectionDragStart:j,unselectNodesAndEdges:z}=r();x=!0,(!L||!b)&&!C&&$&&((re=J.get($))!=null&&re.selected||z()),b&&L&&$&&(t==null||t($));const ne=to(ee.sourceEvent,{transform:F,snapGrid:V,snapToGrid:A,containerBounds:g});if(c=ne,h=Zw(J,B,ne,$),h.size>0&&(o||O||!$&&j)){const[ue,ce]=Eu({nodeId:$,dragItems:h,nodeLookup:J});o==null||o(ee.sourceEvent,h,ue,ce),O==null||O(ee.sourceEvent,ue,ce),$||j==null||j(ee.sourceEvent,ce)}}const Z=vp().clickDistance(H).on("start",ee=>{const{domNode:J,nodeDragThreshold:C,transform:B,snapGrid:F,snapToGrid:V}=r();g=(J==null?void 0:J.getBoundingClientRect())||null,S=!1,_=!1,M=ee.sourceEvent,C===0&&te(ee),c=to(ee.sourceEvent,{transform:B,snapGrid:F,snapToGrid:V,containerBounds:g}),y=Qt(ee.sourceEvent,g)}).on("drag",ee=>{const{autoPanOnNodeDrag:J,transform:C,snapGrid:B,snapToGrid:F,nodeDragThreshold:V,nodeLookup:A}=r(),L=to(ee.sourceEvent,{transform:C,snapGrid:B,snapToGrid:F,containerBounds:g});if(M=ee.sourceEvent,(ee.sourceEvent.type==="touchmove"&&ee.sourceEvent.touches.length>1||$&&!A.has($))&&(S=!0),!S){if(!p&&J&&x&&(p=!0,Q()),!x){const O=Qt(ee.sourceEvent,g),j=O.x-y.x,z=O.y-y.y;Math.sqrt(j*j+z*z)>V&&te(ee)}(c.x!==L.xSnapped||c.y!==L.ySnapped)&&h&&x&&(y=Qt(ee.sourceEvent,g),X(L))}}).on("end",ee=>{if(!x||S){S&&h.size>0&&r().updateNodePositions(h,!1);return}if(p=!1,x=!1,cancelAnimationFrame(d),h.size>0){const{nodeLookup:J,updateNodePositions:C,onNodeDragStop:B,onSelectionDragStop:F}=r();if(_&&(C(h,!1),_=!1),a||B||!$&&F){const[V,A]=Eu({nodeId:$,dragItems:h,nodeLookup:J,dragging:!1});a==null||a(ee.sourceEvent,h,V,A),B==null||B(ee.sourceEvent,V,A),$||F==null||F(ee.sourceEvent,A)}}}).filter(ee=>{const J=ee.target;return!ee.button&&(!T||!Sh(J,`.${T}`,P))&&(!k||Sh(J,k,P))});m.call(Z)}function N(){m==null||m.on(".drag",null)}return{update:E,destroy:N}}function t1(t,r,o){const l=[],a={x:t.x-o,y:t.y-o,width:o*2,height:o*2};for(const c of r.values())ll(a,ao(c))>0&&l.push(c);return l}const n1=250;function r1(t,r,o,l){var h,p;let a=[],c=1/0;const d=t1(t,o,r+n1);for(const y of d){const g=[...((h=y.internals.handleBounds)==null?void 0:h.source)??[],...((p=y.internals.handleBounds)==null?void 0:p.target)??[]];for(const x of g){if(l.nodeId===x.nodeId&&l.type===x.type&&l.id===x.id)continue;const{x:m,y:S}=wr(y,x,x.position,!0),_=Math.sqrt(Math.pow(m-t.x,2)+Math.pow(S-t.y,2));_>r||(_1){const y=l.type==="source"?"target":"source";return a.find(g=>g.type===y)??a[0]}return a[0]}function rg(t,r,o,l,a,c=!1){var y,g,x;const d=l.get(t);if(!d)return null;const h=a==="strict"?(y=d.internals.handleBounds)==null?void 0:y[r]:[...((g=d.internals.handleBounds)==null?void 0:g.source)??[],...((x=d.internals.handleBounds)==null?void 0:x.target)??[]],p=(o?h==null?void 0:h.find(m=>m.id===o):h==null?void 0:h[0])??null;return p&&c?{...p,...wr(d,p,p.position,!0)}:p}function ig(t,r){return t||(r!=null&&r.classList.contains("target")?"target":r!=null&&r.classList.contains("source")?"source":null)}function i1(t,r){let o=null;return r?o=!0:t&&!r&&(o=!1),o}const og=()=>!0;function o1(t,{connectionMode:r,connectionRadius:o,handleId:l,nodeId:a,edgeUpdaterType:c,isTarget:d,domNode:h,nodeLookup:p,lib:y,autoPanOnConnect:g,flowId:x,panBy:m,cancelConnection:S,onConnectStart:_,onConnect:M,onConnectEnd:E,isValidConnection:N=og,onReconnectEnd:T,updateConnection:k,getTransform:P,getFromHandle:b,autoPanSpeed:$,dragThreshold:H=1,handleDomNode:X}){const Q=Yp(t.target);let te=0,Z;const{x:ee,y:J}=Qt(t),C=ig(c,X),B=h==null?void 0:h.getBoundingClientRect();let F=!1;if(!B||!C)return;const V=rg(a,C,l,p,r);if(!V)return;let A=Qt(t,B),L=!1,O=null,j=!1,z=null;function ne(){if(!g||!B)return;const[we,ve]=ic(A,B,$);m({x:we,y:ve}),te=requestAnimationFrame(ne)}const re={...V,nodeId:a,type:C,position:V.position},ue=p.get(a);let de={inProgress:!0,isValid:null,from:wr(ue,re,_e.Left,!0),fromHandle:re,fromPosition:re.position,fromNode:ue,to:A,toHandle:null,toPosition:uh[re.position],toNode:null,pointer:A};function G(){F=!0,k(de),_==null||_(t,{nodeId:a,handleId:l,handleType:C})}H===0&&G();function se(we){if(!F){const{x:Le,y:rt}=Qt(we),st=Le-ee,Ge=rt-J;if(!(st*st+Ge*Ge>H*H))return;G()}if(!b()||!re){pe(we);return}const ve=P();A=Qt(we,B),Z=r1(xo(A,ve,!1,[1,1]),o,p,re),L||(ne(),L=!0);const me=sg(we,{handle:Z,connectionMode:r,fromNodeId:a,fromHandleId:l,fromType:d?"target":"source",isValidConnection:N,doc:Q,lib:y,flowId:x,nodeLookup:p});z=me.handleDomNode,O=me.connection,j=i1(!!Z,me.isValid);const Ce=p.get(a),je=Ce?wr(Ce,re,_e.Left,!0):de.from,Pe={...de,from:je,isValid:j,to:me.toHandle&&j?ii({x:me.toHandle.x,y:me.toHandle.y},ve):A,toHandle:me.toHandle,toPosition:j&&me.toHandle?me.toHandle.position:uh[re.position],toNode:me.toHandle?p.get(me.toHandle.nodeId):null,pointer:A};k(Pe),de=Pe}function pe(we){if(!("touches"in we&&we.touches.length>0)){if(F){(Z||z)&&O&&j&&(M==null||M(O));const{inProgress:ve,...me}=de,Ce={...me,toPosition:de.toHandle?de.toPosition:null};E==null||E(we,Ce),c&&(T==null||T(we,Ce))}S(),cancelAnimationFrame(te),L=!1,j=!1,O=null,z=null,Q.removeEventListener("mousemove",se),Q.removeEventListener("mouseup",pe),Q.removeEventListener("touchmove",se),Q.removeEventListener("touchend",pe)}}Q.addEventListener("mousemove",se),Q.addEventListener("mouseup",pe),Q.addEventListener("touchmove",se),Q.addEventListener("touchend",pe)}function sg(t,{handle:r,connectionMode:o,fromNodeId:l,fromHandleId:a,fromType:c,doc:d,lib:h,flowId:p,isValidConnection:y=og,nodeLookup:g}){const x=c==="target",m=r?d.querySelector(`.${h}-flow__handle[data-id="${p}-${r==null?void 0:r.nodeId}-${r==null?void 0:r.id}-${r==null?void 0:r.type}"]`):null,{x:S,y:_}=Qt(t),M=d.elementFromPoint(S,_),E=M!=null&&M.classList.contains(`${h}-flow__handle`)?M:m,N={handleDomNode:E,isValid:!1,connection:null,toHandle:null};if(E){const T=ig(void 0,E),k=E.getAttribute("data-nodeid"),P=E.getAttribute("data-handleid"),b=E.classList.contains("connectable"),$=E.classList.contains("connectableend");if(!k||!T)return N;const H={source:x?k:l,sourceHandle:x?P:a,target:x?l:k,targetHandle:x?a:P};N.connection=H;const Q=b&&$&&(o===ni.Strict?x&&T==="source"||!x&&T==="target":k!==l||P!==a);N.isValid=Q&&y(H),N.toHandle=rg(k,T,P,g,o,!0)}return N}const Yu={onPointerDown:o1,isValid:sg};function s1({domNode:t,panZoom:r,getTransform:o,getViewScale:l}){const a=It(t);function c({translateExtent:h,width:p,height:y,zoomStep:g=1,pannable:x=!0,zoomable:m=!0,inversePan:S=!1}){const _=k=>{if(k.sourceEvent.type!=="wheel"||!r)return;const P=o(),b=k.sourceEvent.ctrlKey&&uo()?10:1,$=-k.sourceEvent.deltaY*(k.sourceEvent.deltaMode===1?.05:k.sourceEvent.deltaMode?1:.002)*g,H=P[2]*Math.pow(2,$*b);r.scaleTo(H)};let M=[0,0];const E=k=>{(k.sourceEvent.type==="mousedown"||k.sourceEvent.type==="touchstart")&&(M=[k.sourceEvent.clientX??k.sourceEvent.touches[0].clientX,k.sourceEvent.clientY??k.sourceEvent.touches[0].clientY])},N=k=>{const P=o();if(k.sourceEvent.type!=="mousemove"&&k.sourceEvent.type!=="touchmove"||!r)return;const b=[k.sourceEvent.clientX??k.sourceEvent.touches[0].clientX,k.sourceEvent.clientY??k.sourceEvent.touches[0].clientY],$=[b[0]-M[0],b[1]-M[1]];M=b;const H=l()*Math.max(P[2],Math.log(P[2]))*(S?-1:1),X={x:P[0]-$[0]*H,y:P[1]-$[1]*H},Q=[[0,0],[p,y]];r.setViewportConstrained({x:X.x,y:X.y,zoom:P[2]},Q,h)},T=Rp().on("start",E).on("zoom",x?N:null).on("zoom.wheel",m?_:null);a.call(T,{})}function d(){a.on("zoom",null)}return{update:c,destroy:d,pointer:Wt}}const vl=t=>({x:t.x,y:t.y,zoom:t.k}),Nu=({x:t,y:r,zoom:o})=>gl.translate(t,r).scale(o),Un=(t,r)=>t.target.closest(`.${r}`),lg=(t,r)=>r===2&&Array.isArray(t)&&t.includes(2),l1=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Cu=(t,r=0,o=l1,l=()=>{})=>{const a=typeof r=="number"&&r>0;return a||l(),a?t.transition().duration(r).ease(o).on("end",l):t},ag=t=>{const r=t.ctrlKey&&uo()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*r};function a1({zoomPanValues:t,noWheelClassName:r,d3Selection:o,d3Zoom:l,panOnScrollMode:a,panOnScrollSpeed:c,zoomOnPinch:d,onPanZoomStart:h,onPanZoom:p,onPanZoomEnd:y}){return g=>{if(Un(g,r))return g.ctrlKey&&g.preventDefault(),!1;g.preventDefault(),g.stopImmediatePropagation();const x=o.property("__zoom").k||1;if(g.ctrlKey&&d){const E=Wt(g),N=ag(g),T=x*Math.pow(2,N);l.scaleTo(o,T,E,g);return}const m=g.deltaMode===1?20:1;let S=a===gr.Vertical?0:g.deltaX*m,_=a===gr.Horizontal?0:g.deltaY*m;!uo()&&g.shiftKey&&a!==gr.Vertical&&(S=g.deltaY*m,_=0),l.translateBy(o,-(S/x)*c,-(_/x)*c,{internal:!0});const M=vl(o.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?p==null||p(g,M):(t.isPanScrolling=!0,h==null||h(g,M)),t.panScrollTimeout=setTimeout(()=>{y==null||y(g,M),t.isPanScrolling=!1},150)}}function u1({noWheelClassName:t,preventScrolling:r,d3ZoomHandler:o}){return function(l,a){const c=l.type==="wheel",d=!r&&c&&!l.ctrlKey,h=Un(l,t);if(l.ctrlKey&&c&&h&&l.preventDefault(),d||h)return null;l.preventDefault(),o.call(this,l,a)}}function c1({zoomPanValues:t,onDraggingChange:r,onPanZoomStart:o}){return l=>{var c,d,h;if((c=l.sourceEvent)!=null&&c.internal)return;const a=vl(l.transform);t.mouseButton=((d=l.sourceEvent)==null?void 0:d.button)||0,t.isZoomingOrPanning=!0,t.prevViewport=a,((h=l.sourceEvent)==null?void 0:h.type)==="mousedown"&&r(!0),o&&(o==null||o(l.sourceEvent,a))}}function d1({zoomPanValues:t,panOnDrag:r,onPaneContextMenu:o,onTransformChange:l,onPanZoom:a}){return c=>{var d,h;t.usedRightMouseButton=!!(o&&lg(r,t.mouseButton??0)),(d=c.sourceEvent)!=null&&d.sync||l([c.transform.x,c.transform.y,c.transform.k]),a&&!((h=c.sourceEvent)!=null&&h.internal)&&(a==null||a(c.sourceEvent,vl(c.transform)))}}function f1({zoomPanValues:t,panOnDrag:r,panOnScroll:o,onDraggingChange:l,onPanZoomEnd:a,onPaneContextMenu:c}){return d=>{var h;if(!((h=d.sourceEvent)!=null&&h.internal)&&(t.isZoomingOrPanning=!1,c&&lg(r,t.mouseButton??0)&&!t.usedRightMouseButton&&d.sourceEvent&&c(d.sourceEvent),t.usedRightMouseButton=!1,l(!1),a)){const p=vl(d.transform);t.prevViewport=p,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{a==null||a(d.sourceEvent,p)},o?150:0)}}}function h1({panActivationKeyPressed:t,zoomActivationKeyPressed:r,zoomOnScroll:o,zoomOnPinch:l,panOnDrag:a,panOnScroll:c,zoomOnDoubleClick:d,userSelectionActive:h,noWheelClassName:p,noPanClassName:y,lib:g,connectionInProgress:x}){return m=>{var N;const S=r||o,_=l&&m.ctrlKey,M=m.type==="wheel";if(m.button===1&&m.type==="mousedown"&&(Un(m,`${g}-flow__node`)||Un(m,`${g}-flow__edge`)||Un(m,`${g}-flow__selection`)||Un(m,`${g}-flow__nodesselection`)))return!0;if(!a&&!S&&!c&&!d&&!l||h||x&&!M||Un(m,p)&&M||Un(m,y)&&(!M||c&&M&&!r)||!l&&m.ctrlKey&&M)return!1;if(!l&&m.type==="touchstart"&&((N=m.touches)==null?void 0:N.length)>1)return m.preventDefault(),!1;if(!S&&!c&&!_&&M||!a&&(m.type==="mousedown"||m.type==="touchstart")||Array.isArray(a)&&!a.includes(m.button)&&m.type==="mousedown")return!1;const E=Array.isArray(a)&&a.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||M||t)&&E}}function p1({domNode:t,minZoom:r,maxZoom:o,translateExtent:l,viewport:a,onPanZoom:c,onPanZoomStart:d,onPanZoomEnd:h,onDraggingChange:p}){const y={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=t.getBoundingClientRect();let x=[[0,0],[g.width,g.height]];const m=typeof ResizeObserver<"u"?new ResizeObserver(J=>{const C=J[0];C&&(x=[[0,0],[C.contentRect.width,C.contentRect.height]])}):null;m==null||m.observe(t);const S=Rp().extent(()=>x).scaleExtent([r,o]).translateExtent(l),_=It(t).call(S);P({x:a.x,y:a.y,zoom:ri(a.zoom,r,o)},[[0,0],[g.width,g.height]],l);const M=_.on("wheel.zoom"),E=_.on("dblclick.zoom");S.wheelDelta(ag);async function N(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).transform(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function T({noWheelClassName:J,noPanClassName:C,onPaneContextMenu:B,userSelectionActive:F,panOnScroll:V,panOnDrag:A,panOnScrollMode:L,panOnScrollSpeed:O,preventScrolling:j,zoomOnPinch:z,zoomOnScroll:ne,zoomOnDoubleClick:re,panActivationKeyPressed:ue=!1,zoomActivationKeyPressed:ce,lib:de,onTransformChange:G,connectionInProgress:se,paneClickDistance:pe,selectionOnDrag:we}){F&&!y.isZoomingOrPanning&&k();const ve=V&&!ce&&!F;S.clickDistance(we?1/0:!Xt(pe)||pe<0?0:pe);const me=ve?a1({zoomPanValues:y,noWheelClassName:J,d3Selection:_,d3Zoom:S,panOnScrollMode:L,panOnScrollSpeed:O,zoomOnPinch:z,onPanZoomStart:d,onPanZoom:c,onPanZoomEnd:h}):u1({noWheelClassName:J,preventScrolling:j,d3ZoomHandler:M});_.on("wheel.zoom",me,{passive:!1});const Ce=c1({zoomPanValues:y,onDraggingChange:p,onPanZoomStart:d});S.on("start",Ce);const je=d1({zoomPanValues:y,panOnDrag:A,onPaneContextMenu:!!B,onPanZoom:c,onTransformChange:G});S.on("zoom",je);const Pe=f1({zoomPanValues:y,panOnDrag:A,panOnScroll:V,onPaneContextMenu:B,onPanZoomEnd:h,onDraggingChange:p});S.on("end",Pe);const Le=h1({panActivationKeyPressed:ue,zoomActivationKeyPressed:ce,panOnDrag:A,zoomOnScroll:ne,panOnScroll:V,zoomOnDoubleClick:re,zoomOnPinch:z,userSelectionActive:F,noPanClassName:C,noWheelClassName:J,lib:de,connectionInProgress:se});S.filter(Le),re?_.on("dblclick.zoom",E):_.on("dblclick.zoom",null)}function k(){S.on("zoom",null)}async function P(J,C,B){const F=Nu(J),V=S==null?void 0:S.constrain()(F,C,B);return V&&await N(V),V}async function b(J,C){const B=Nu(J);return await N(B,C),B}function $(J){if(_){const C=Nu(J),B=_.property("__zoom");(B.k!==J.zoom||B.x!==J.x||B.y!==J.y)&&(S==null||S.transform(_,C,null,{sync:!0}))}}function H(){const J=_?zp(_.node()):{x:0,y:0,k:1};return{x:J.x,y:J.y,zoom:J.k}}async function X(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleTo(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}async function Q(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleBy(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function te(J){S==null||S.scaleExtent(J)}function Z(J){S==null||S.translateExtent(J)}function ee(J){const C=!Xt(J)||J<0?0:J;S==null||S.clickDistance(C)}return{update:T,destroy:k,setViewport:b,setViewportConstrained:P,getViewport:H,scaleTo:X,scaleBy:Q,setScaleExtent:te,setTranslateExtent:Z,syncViewport:$,setClickDistance:ee}}var oi;(function(t){t.Line="line",t.Handle="handle"})(oi||(oi={}));function g1({width:t,prevWidth:r,height:o,prevHeight:l,affectsX:a,affectsY:c}){const d=t-r,h=o-l,p=[d>0?1:d<0?-1:0,h>0?1:h<0?-1:0];return d&&a&&(p[0]=p[0]*-1),h&&c&&(p[1]=p[1]*-1),p}function _h(t){const r=t.includes("right")||t.includes("left"),o=t.includes("bottom")||t.includes("top"),l=t.includes("left"),a=t.includes("top");return{isHorizontal:r,isVertical:o,affectsX:l,affectsY:a}}function Vn(t,r){return Math.max(0,r-t)}function Bn(t,r){return Math.max(0,t-r)}function Us(t,r,o){return Math.max(0,r-t,t-o)}function kh(t,r){return t?!r:r}function m1(t,r,o,l,a,c,d,h){let{affectsX:p,affectsY:y}=r;const{isHorizontal:g,isVertical:x}=r,m=g&&x,{xSnapped:S,ySnapped:_}=o,{minWidth:M,maxWidth:E,minHeight:N,maxHeight:T}=l,{x:k,y:P,width:b,height:$,aspectRatio:H}=t;let X=Math.floor(g?S-t.pointerX:0),Q=Math.floor(x?_-t.pointerY:0);const te=b+(p?-X:X),Z=$+(y?-Q:Q),ee=-c[0]*b,J=-c[1]*$;let C=Us(te,M,E),B=Us(Z,N,T);if(d){let A=0,L=0;p&&X<0?A=Vn(k+X+ee,d[0][0]):!p&&X>0&&(A=Bn(k+te+ee,d[1][0])),y&&Q<0?L=Vn(P+Q+J,d[0][1]):!y&&Q>0&&(L=Bn(P+Z+J,d[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(h){let A=0,L=0;p&&X>0?A=Bn(k+X,h[0][0]):!p&&X<0&&(A=Vn(k+te,h[1][0])),y&&Q>0?L=Bn(P+Q,h[0][1]):!y&&Q<0&&(L=Vn(P+Z,h[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(a){if(g){const A=Us(te/H,N,T)*H;if(C=Math.max(C,A),d){let L=0;!p&&!y||p&&!y&&m?L=Bn(P+J+te/H,d[1][1])*H:L=Vn(P+J+(p?X:-X)/H,d[0][1])*H,C=Math.max(C,L)}if(h){let L=0;!p&&!y||p&&!y&&m?L=Vn(P+te/H,h[1][1])*H:L=Bn(P+(p?X:-X)/H,h[0][1])*H,C=Math.max(C,L)}}if(x){const A=Us(Z*H,M,E)/H;if(B=Math.max(B,A),d){let L=0;!p&&!y||y&&!p&&m?L=Bn(k+Z*H+ee,d[1][0])/H:L=Vn(k+(y?Q:-Q)*H+ee,d[0][0])/H,B=Math.max(B,L)}if(h){let L=0;!p&&!y||y&&!p&&m?L=Vn(k+Z*H,h[1][0])/H:L=Bn(k+(y?Q:-Q)*H,h[0][0])/H,B=Math.max(B,L)}}}Q=Q+(Q<0?B:-B),X=X+(X<0?C:-C),a&&(m?te>Z*H?Q=(kh(p,y)?-X:X)/H:X=(kh(p,y)?-Q:Q)*H:g?(Q=X/H,y=p):(X=Q*H,p=y));const F=p?k+X:k,V=y?P+Q:P;return{width:b+(p?-X:X),height:$+(y?-Q:Q),x:c[0]*X*(p?-1:1)+F,y:c[1]*Q*(y?-1:1)+V}}const ug={width:0,height:0,x:0,y:0},y1={...ug,pointerX:0,pointerY:0,aspectRatio:1};function v1(t,r,o){const l=r.position.x+t.position.x,a=r.position.y+t.position.y,c=t.measured.width??0,d=t.measured.height??0,h=o[0]*c,p=o[1]*d;return[[l-h,a-p],[l+c-h,a+d-p]]}function x1({domNode:t,nodeId:r,getStoreItems:o,onChange:l,onEnd:a}){const c=It(t);let d={controlDirection:_h("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function h({controlPosition:y,boundaries:g,keepAspectRatio:x,resizeDirection:m,onResizeStart:S,onResize:_,onResizeEnd:M,shouldResize:E}){let N={...ug},T={...y1};d={boundaries:g,resizeDirection:m,keepAspectRatio:x,controlDirection:_h(y)};let k,P=null,b=[],$,H,X,Q=!1;const te=vp().on("start",Z=>{const{nodeLookup:ee,transform:J,snapGrid:C,snapToGrid:B,nodeOrigin:F,paneDomNode:V}=o();if(k=ee.get(r),!k)return;P=(V==null?void 0:V.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:L}=to(Z.sourceEvent,{transform:J,snapGrid:C,snapToGrid:B,containerBounds:P});N={width:k.measured.width??0,height:k.measured.height??0,x:k.position.x??0,y:k.position.y??0},T={...N,pointerX:A,pointerY:L,aspectRatio:N.width/N.height},$=void 0,H=xr(k.extent)?k.extent:void 0,k.parentId&&(k.extent==="parent"||k.expandParent)&&($=ee.get(k.parentId)),$&&k.extent==="parent"&&(H=[[0,0],[$.measured.width,$.measured.height]]),b=[],X=void 0;for(const[O,j]of ee)if(j.parentId===r&&(b.push({id:O,position:{...j.position},extent:j.extent}),j.extent==="parent"||j.expandParent)){const z=v1(j,k,j.origin??F);X?X=[[Math.min(z[0][0],X[0][0]),Math.min(z[0][1],X[0][1])],[Math.max(z[1][0],X[1][0]),Math.max(z[1][1],X[1][1])]]:X=z}S==null||S(Z,{...N})}).on("drag",Z=>{const{transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B}=o(),F=to(Z.sourceEvent,{transform:ee,snapGrid:J,snapToGrid:C,containerBounds:P}),V=[];if(!k)return;const{x:A,y:L,width:O,height:j}=N,z={},ne=k.origin??B,{width:re,height:ue,x:ce,y:de}=m1(T,d.controlDirection,F,d.boundaries,d.keepAspectRatio,ne,H,X),G=re!==O,se=ue!==j,pe=ce!==A&&G,we=de!==L&&se;if(!pe&&!we&&!G&&!se)return;if((pe||we||ne[0]===1||ne[1]===1)&&(z.x=pe?ce:N.x,z.y=we?de:N.y,N.x=z.x,N.y=z.y,b.length>0)){const je=ce-A,Pe=de-L;for(const Le of b)Le.position={x:Le.position.x-je+ne[0]*(re-O),y:Le.position.y-Pe+ne[1]*(ue-j)},V.push(Le)}if((G||se)&&(z.width=G&&(!d.resizeDirection||d.resizeDirection==="horizontal")?re:N.width,z.height=se&&(!d.resizeDirection||d.resizeDirection==="vertical")?ue:N.height,N.width=z.width,N.height=z.height),$&&k.expandParent){const je=ne[0]*(z.width??0);z.x&&z.x{Q&&(M==null||M(Z,{...N}),a==null||a({...N}),Q=!1)});c.call(te)}function p(){c.on(".drag",null)}return{update:h,destroy:p}}var ju={exports:{}},Mu={},Pu={exports:{}},Iu={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Eh;function w1(){if(Eh)return Iu;Eh=1;var t=fo();function r(x,m){return x===m&&(x!==0||1/x===1/m)||x!==x&&m!==m}var o=typeof Object.is=="function"?Object.is:r,l=t.useState,a=t.useEffect,c=t.useLayoutEffect,d=t.useDebugValue;function h(x,m){var S=m(),_=l({inst:{value:S,getSnapshot:m}}),M=_[0].inst,E=_[1];return c(function(){M.value=S,M.getSnapshot=m,p(M)&&E({inst:M})},[x,S,m]),a(function(){return p(M)&&E({inst:M}),x(function(){p(M)&&E({inst:M})})},[x]),d(S),S}function p(x){var m=x.getSnapshot;x=x.value;try{var S=m();return!o(x,S)}catch{return!0}}function y(x,m){return m()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?y:h;return Iu.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,Iu}var Nh;function S1(){return Nh||(Nh=1,Pu.exports=w1()),Pu.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ch;function _1(){if(Ch)return Mu;Ch=1;var t=fo(),r=S1();function o(y,g){return y===g&&(y!==0||1/y===1/g)||y!==y&&g!==g}var l=typeof Object.is=="function"?Object.is:o,a=r.useSyncExternalStore,c=t.useRef,d=t.useEffect,h=t.useMemo,p=t.useDebugValue;return Mu.useSyncExternalStoreWithSelector=function(y,g,x,m,S){var _=c(null);if(_.current===null){var M={hasValue:!1,value:null};_.current=M}else M=_.current;_=h(function(){function N($){if(!T){if(T=!0,k=$,$=m($),S!==void 0&&M.hasValue){var H=M.value;if(S(H,$))return P=H}return P=$}if(H=P,l(k,$))return H;var X=m($);return S!==void 0&&S(H,X)?(k=$,H):(k=$,P=X)}var T=!1,k,P,b=x===void 0?null:x;return[function(){return N(g())},b===null?void 0:function(){return N(b())}]},[g,x,m,S]);var E=a(y,_[0],_[1]);return d(function(){M.hasValue=!0,M.value=E},[E]),p(E),E},Mu}var jh;function k1(){return jh||(jh=1,ju.exports=_1()),ju.exports}var E1=k1();const N1=np(E1),C1={},Mh=t=>{let r;const o=new Set,l=(g,x)=>{const m=typeof g=="function"?g(r):g;if(!Object.is(m,r)){const S=r;r=x??(typeof m!="object"||m===null)?m:Object.assign({},r,m),o.forEach(_=>_(r,S))}},a=()=>r,p={setState:l,getState:a,getInitialState:()=>y,subscribe:g=>(o.add(g),()=>o.delete(g)),destroy:()=>{(C1?"production":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."),o.clear()}},y=r=t(l,a,p);return p},j1=t=>t?Mh(t):Mh,{useDebugValue:M1}=I0,{useSyncExternalStoreWithSelector:P1}=N1,I1=t=>t;function cg(t,r=I1,o){const l=P1(t.subscribe,t.getState,t.getServerState||t.getInitialState,r,o);return M1(l),l}const Ph=(t,r)=>{const o=j1(t),l=(a,c=r)=>cg(o,a,c);return Object.assign(l,o),l},T1=(t,r)=>t?Ph(t,r):Ph;function Ue(t,r){if(Object.is(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(const[l,a]of t)if(!Object.is(a,r.get(l)))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(const l of t)if(!r.has(l))return!1;return!0}const o=Object.keys(t);if(o.length!==Object.keys(r).length)return!1;for(const l of o)if(!Object.prototype.hasOwnProperty.call(r,l)||!Object.is(t[l],r[l]))return!1;return!0}rp();const xl=Y.createContext(null),z1=xl.Provider,dg=Gt.error001("react");function ze(t,r){const o=Y.useContext(xl);if(o===null)throw new Error(dg);return cg(o,t,r)}function be(){const t=Y.useContext(xl);if(t===null)throw new Error(dg);return Y.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const Ih={display:"none"},R1={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},fg="react-flow__node-desc",hg="react-flow__edge-desc",L1="react-flow__aria-live",A1=t=>t.ariaLiveMessage,$1=t=>t.ariaLabelConfig;function D1({rfId:t}){const r=ze(A1);return v.jsx("div",{id:`${L1}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:R1,children:r})}function O1({rfId:t,disableKeyboardA11y:r}){const o=ze($1);return v.jsxs(v.Fragment,{children:[v.jsx("div",{id:`${fg}-${t}`,style:Ih,children:r?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),v.jsx("div",{id:`${hg}-${t}`,style:Ih,children:o["edge.a11yDescription.default"]}),!r&&v.jsx(D1,{rfId:t})]})}const wl=Y.forwardRef(({position:t="top-left",children:r,className:o,style:l,...a},c)=>{const d=`${t}`.split("-");return v.jsx("div",{className:Qe(["react-flow__panel",o,...d]),style:l,ref:c,...a,children:r})});wl.displayName="Panel";const Th="https://reactflow.dev?utm_source=attribution";function b1({proOptions:t,position:r="bottom-right"}){return t!=null&&t.hideAttribution?null:v.jsx(wl,{position:r,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Th}`,children:v.jsx("a",{href:Th,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const F1=t=>{const r=[],o=[];for(const[,l]of t.nodeLookup)l.selected&&r.push(l.internals.userNode);for(const[,l]of t.edgeLookup)l.selected&&o.push(l);return{selectedNodes:r,selectedEdges:o}},Ws=t=>t.id;function H1(t,r){return Ue(t.selectedNodes.map(Ws),r.selectedNodes.map(Ws))&&Ue(t.selectedEdges.map(Ws),r.selectedEdges.map(Ws))}function V1({onSelectionChange:t}){const r=be(),{selectedNodes:o,selectedEdges:l}=ze(F1,H1);return Y.useEffect(()=>{const a={nodes:o,edges:l};t==null||t(a),r.getState().onSelectionChangeHandlers.forEach(c=>c(a))},[o,l,t]),null}const B1=t=>!!t.onSelectionChangeHandlers;function U1({onSelectionChange:t}){const r=ze(B1);return t||r?v.jsx(V1,{onSelectionChange:t}):null}const pg=[0,0],W1={x:0,y:0,zoom:1},Y1=["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"],zh=[...Y1,"rfId"],X1=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),Rh={translateExtent:so,nodeOrigin:pg,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Q1(t){const{setNodes:r,setEdges:o,setMinZoom:l,setMaxZoom:a,setTranslateExtent:c,setNodeExtent:d,reset:h,setDefaultNodesAndEdges:p}=ze(X1,Ue),y=be();Y.useEffect(()=>(p(t.defaultNodes,t.defaultEdges),()=>{g.current=Rh,h()}),[]);const g=Y.useRef(Rh);return Y.useEffect(()=>{for(const x of zh){const m=t[x],S=g.current[x];m!==S&&(typeof t[x]>"u"||(x==="nodes"?r(m):x==="edges"?o(m):x==="minZoom"?l(m):x==="maxZoom"?a(m):x==="translateExtent"?c(m):x==="nodeExtent"?d(m):x==="ariaLabelConfig"?y.setState({ariaLabelConfig:zw(m)}):x==="fitView"?y.setState({fitViewQueued:m}):x==="fitViewOptions"?y.setState({fitViewOptions:m}):y.setState({[x]:m})))}g.current=t},zh.map(x=>t[x])),null}function Lh(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function G1(t){var l;const[r,o]=Y.useState(t==="system"?null:t);return Y.useEffect(()=>{if(t!=="system"){o(t);return}const a=Lh(),c=()=>o(a!=null&&a.matches?"dark":"light");return c(),a==null||a.addEventListener("change",c),()=>{a==null||a.removeEventListener("change",c)}},[t]),r!==null?r:(l=Lh())!=null&&l.matches?"dark":"light"}const Ah=typeof document<"u"?document:null;function co(t=null,r={target:Ah,actInsideInputWithModifier:!0}){const[o,l]=Y.useState(!1),a=Y.useRef(!1),c=Y.useRef(new Set([])),[d,h]=Y.useMemo(()=>{if(t!==null){const y=(Array.isArray(t)?t:[t]).filter(x=>typeof x=="string").map(x=>x.replace(/\+/g,` +`).replace(` + +`,` ++`).split(` +`)),g=y.reduce((x,m)=>x.concat(...m),[]);return[y,g]}return[[],[]]},[t]);return Y.useEffect(()=>{const p=(r==null?void 0:r.target)??Ah,y=(r==null?void 0:r.actInsideInputWithModifier)??!0;if(t!==null){const g=S=>{var E,N;if(a.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!a.current||a.current&&!y)&&Xp(S))return!1;const M=Dh(S.code,h);if(c.current.add(S[M]),$h(d,c.current,!1)){const T=((N=(E=S.composedPath)==null?void 0:E.call(S))==null?void 0:N[0])||S.target,k=(T==null?void 0:T.nodeName)==="BUTTON"||(T==null?void 0:T.nodeName)==="A";r.preventDefault!==!1&&(a.current||!k)&&S.preventDefault(),l(!0)}},x=S=>{const _=Dh(S.code,h);$h(d,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(S[_]),S.key==="Meta"&&c.current.clear(),a.current=!1},m=()=>{c.current.clear(),l(!1)};return p==null||p.addEventListener("keydown",g),p==null||p.addEventListener("keyup",x),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{p==null||p.removeEventListener("keydown",g),p==null||p.removeEventListener("keyup",x),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[t,l]),o}function $h(t,r,o){return t.filter(l=>o||l.length===r.size).some(l=>l.every(a=>r.has(a)))}function Dh(t,r){return r.includes(t)?"code":"key"}const K1=()=>{const t=be();return Y.useMemo(()=>({zoomIn:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1.2,r):!1},zoomOut:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1/1.2,r):!1},zoomTo:async(r,o)=>{const{panZoom:l}=t.getState();return l?l.scaleTo(r,o):!1},getZoom:()=>t.getState().transform[2],setViewport:async(r,o)=>{const{transform:[l,a,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:r.x??l,y:r.y??a,zoom:r.zoom??c},o),!0):!1},getViewport:()=>{const[r,o,l]=t.getState().transform;return{x:r,y:o,zoom:l}},setCenter:async(r,o,l)=>t.getState().setCenter(r,o,l),fitBounds:async(r,o)=>{const{width:l,height:a,minZoom:c,maxZoom:d,panZoom:h}=t.getState(),p=oc(r,l,a,c,d,(o==null?void 0:o.padding)??.1);return h?(await h.setViewport(p,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),!0):!1},screenToFlowPosition:(r,o={})=>{const{transform:l,snapGrid:a,snapToGrid:c,domNode:d}=t.getState();if(!d)return r;const{x:h,y:p}=d.getBoundingClientRect(),y={x:r.x-h,y:r.y-p},g=o.snapGrid??a,x=o.snapToGrid??c;return xo(y,l,x,g)},flowToScreenPosition:r=>{const{transform:o,domNode:l}=t.getState();if(!l)return r;const{x:a,y:c}=l.getBoundingClientRect(),d=ii(r,o);return{x:d.x+a,y:d.y+c}}}),[])};function gg(t,r){const o=[],l=new Map,a=[];for(const c of t)if(c.type==="add"){a.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const d=l.get(c.id);d?d.push(c):l.set(c.id,[c])}for(const c of r){const d=l.get(c.id);if(!d){o.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){o.push({...d[0].item});continue}const h={...c};for(const p of d)q1(p,h);o.push(h)}return a.length&&a.forEach(c=>{c.index!==void 0?o.splice(c.index,0,{...c.item}):o.push({...c.item})}),o}function q1(t,r){switch(t.type){case"select":{r.selected=t.selected;break}case"position":{typeof t.position<"u"&&(r.position=t.position),typeof t.dragging<"u"&&(r.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(r.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(r.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(r.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(r.resizing=t.resizing);break}}}function Z1(t,r){return gg(t,r)}function J1(t,r){return gg(t,r)}function fr(t,r){return{id:t,type:"select",selected:r}}function qr(t,r=new Set,o=!1){const l=[];for(const[a,c]of t){const d=r.has(a);!(c.selected===void 0&&!d)&&c.selected!==d&&(o&&(c.selected=d),l.push(fr(c.id,d)))}return l}function Oh({items:t=[],lookup:r}){var a;const o=[],l=new Map(t.map(c=>[c.id,c]));for(const[c,d]of t.entries()){const h=r.get(d.id),p=((a=h==null?void 0:h.internals)==null?void 0:a.userNode)??h;p!==void 0&&p!==d&&o.push({id:d.id,item:d,type:"replace"}),p===void 0&&o.push({item:d,type:"add",index:c})}for(const[c]of r)l.get(c)===void 0&&o.push({id:c,type:"remove"});return o}function bh(t){return{id:t.id,type:"remove"}}const eS=Bp();function tS(t,r,o={}){return Ow(t,r,{...o,onError:o.onError??eS})}const Fh=t=>kw(t),nS=t=>Op(t);function mg(t){return Y.forwardRef(t)}const yg=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function Hh(t){const[r,o]=Y.useState(BigInt(0)),[l]=Y.useState(()=>rS(()=>o(a=>a+BigInt(1))));return yg(()=>{const a=l.get();a.length&&(t(a),l.reset())},[r]),l}function rS(t){let r=[];return{get:()=>r,reset:()=>{r=[]},push:o=>{r.push(o),t()}}}const vg=Y.createContext(null);function iS({children:t}){const r=be(),o=Y.useCallback(h=>{const{nodes:p=[],setNodes:y,hasDefaultNodes:g,onNodesChange:x,nodeLookup:m,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=r.getState();let M=p;for(const N of h)M=typeof N=="function"?N(M):N;let E=Oh({items:M,lookup:m});for(const N of _.values())E=N(E);g&&y(M),E.length>0?x==null||x(E):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:N,nodes:T,setNodes:k}=r.getState();N&&k(T)})},[]),l=Hh(o),a=Y.useCallback(h=>{const{edges:p=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:x,edgeLookup:m}=r.getState();let S=p;for(const _ of h)S=typeof _=="function"?_(S):_;g?y(S):x&&x(Oh({items:S,lookup:m}))},[]),c=Hh(a),d=Y.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return v.jsx(vg.Provider,{value:d,children:t})}function oS(){const t=Y.useContext(vg);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const sS=t=>!!t.panZoom;function fc(){const t=K1(),r=be(),o=oS(),l=ze(sS),a=Y.useMemo(()=>{const c=x=>r.getState().nodeLookup.get(x),d=x=>{o.nodeQueue.push(x)},h=x=>{o.edgeQueue.push(x)},p=x=>{var N,T;const{nodeLookup:m,nodeOrigin:S}=r.getState(),_=Fh(x)?x:m.get(x.id),M=_.parentId?Wp(_.position,_.measured,_.parentId,m,S):_.position,E={..._,position:M,width:((N=_.measured)==null?void 0:N.width)??_.width,height:((T=_.measured)==null?void 0:T.height)??_.height};return ao(E)},y=(x,m,S={replace:!1})=>{d(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&Fh(E)?E:{...M,...E}}return M}))},g=(x,m,S={replace:!1})=>{h(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&nS(E)?E:{...M,...E}}return M}))};return{getNodes:()=>r.getState().nodes.map(x=>({...x})),getNode:x=>{var m;return(m=c(x))==null?void 0:m.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:x=[]}=r.getState();return x.map(m=>({...m}))},getEdge:x=>r.getState().edgeLookup.get(x),setNodes:d,setEdges:h,addNodes:x=>{const m=Array.isArray(x)?x:[x];o.nodeQueue.push(S=>[...S,...m])},addEdges:x=>{const m=Array.isArray(x)?x:[x];o.edgeQueue.push(S=>[...S,...m])},toObject:()=>{const{nodes:x=[],edges:m=[],transform:S}=r.getState(),[_,M,E]=S;return{nodes:x.map(N=>({...N})),edges:m.map(N=>({...N})),viewport:{x:_,y:M,zoom:E}}},deleteElements:async({nodes:x=[],edges:m=[]})=>{const{nodes:S,edges:_,onNodesDelete:M,onEdgesDelete:E,triggerNodeChanges:N,triggerEdgeChanges:T,onDelete:k,onBeforeDelete:P}=r.getState(),{nodes:b,edges:$}=await Mw({nodesToRemove:x,edgesToRemove:m,nodes:S,edges:_,onBeforeDelete:P}),H=$.length>0,X=b.length>0;if(H){const Q=$.map(bh);E==null||E($),T(Q)}if(X){const Q=b.map(bh);M==null||M(b),N(Q)}return(X||H)&&(k==null||k({nodes:b,edges:$})),{deletedNodes:b,deletedEdges:$}},getIntersectingNodes:(x,m=!0,S)=>{const _=dh(x),M=_?x:p(x),E=S!==void 0;return M?(S||r.getState().nodes).filter(N=>{const T=r.getState().nodeLookup.get(N.id);if(T&&!_&&(N.id===x.id||!T.internals.positionAbsolute))return!1;const k=ao(E?N:T),P=ll(k,M);return m&&P>0||P>=k.width*k.height||P>=M.width*M.height}):[]},isNodeIntersecting:(x,m,S=!0)=>{const M=dh(x)?x:p(x);if(!M)return!1;const E=ll(M,m);return S&&E>0||E>=m.width*m.height||E>=M.width*M.height},updateNode:y,updateNodeData:(x,m,S={replace:!1})=>{y(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},updateEdge:g,updateEdgeData:(x,m,S={replace:!1})=>{g(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},getNodesBounds:x=>{const{nodeLookup:m,nodeOrigin:S}=r.getState();return Ew(x,{nodeLookup:m,nodeOrigin:S})},getHandleConnections:({type:x,id:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}-${x}${m?`-${m}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:x,handleId:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}${x?m?`-${x}-${m}`:`-${x}`:""}`))==null?void 0:_.values())??[])},fitView:async x=>{const m=r.getState().fitViewResolver??Tw();return r.setState({fitViewQueued:!0,fitViewOptions:x,fitViewResolver:m}),o.nodeQueue.push(S=>[...S]),m.promise}}},[]);return Y.useMemo(()=>({...a,...t,viewportInitialized:l}),[l])}const Vh=t=>t.selected,lS=typeof window<"u"?window:void 0;function aS({deleteKeyCode:t,multiSelectionKeyCode:r}){const o=be(),{deleteElements:l}=fc(),a=co(t,{actInsideInputWithModifier:!1}),c=co(r,{target:lS});Y.useEffect(()=>{if(a){const{edges:d,nodes:h}=o.getState();l({nodes:h.filter(Vh),edges:d.filter(Vh)}),o.setState({nodesSelectionActive:!1})}},[a]),Y.useEffect(()=>{o.setState({multiSelectionActive:c})},[c])}function uS(t){const r=be();Y.useEffect(()=>{const o=()=>{var a,c,d,h;if(!t.current||!(((c=(a=t.current).checkVisibility)==null?void 0:c.call(a))??!0))return!1;const l=sc(t.current);(l.height===0||l.width===0)&&((h=(d=r.getState()).onError)==null||h.call(d,"004",Gt.error004())),r.setState({width:l.width||500,height:l.height||500})};if(t.current){o(),window.addEventListener("resize",o);const l=new ResizeObserver(()=>o());return l.observe(t.current),()=>{window.removeEventListener("resize",o),l&&t.current&&l.unobserve(t.current)}}},[])}const Sl={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function dS({onPaneContextMenu:t,zoomOnScroll:r=!0,zoomOnPinch:o=!0,panOnScroll:l=!1,panActivationKeyPressed:a,panOnScrollSpeed:c=.5,panOnScrollMode:d=gr.Free,zoomOnDoubleClick:h=!0,panOnDrag:p=!0,defaultViewport:y,translateExtent:g,minZoom:x,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:_=!0,children:M,noWheelClassName:E,noPanClassName:N,onViewportChange:T,isControlledViewport:k,paneClickDistance:P,selectionOnDrag:b}){const $=be(),H=Y.useRef(null),{userSelectionActive:X,lib:Q,connectionInProgress:te}=ze(cS,Ue),Z=co(S),ee=Y.useRef();uS(H);const J=Y.useCallback(C=>{T==null||T({x:C[0],y:C[1],zoom:C[2]}),k||$.setState({transform:C})},[T,k]);return Y.useEffect(()=>{if(H.current){ee.current=p1({domNode:H.current,minZoom:x,maxZoom:m,translateExtent:g,viewport:y,onDraggingChange:V=>$.setState(A=>A.paneDragging===V?A:{paneDragging:V}),onPanZoomStart:(V,A)=>{const{onViewportChangeStart:L,onMoveStart:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoom:(V,A)=>{const{onViewportChange:L,onMove:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoomEnd:(V,A)=>{const{onViewportChangeEnd:L,onMoveEnd:O}=$.getState();O==null||O(V,A),L==null||L(A)}});const{x:C,y:B,zoom:F}=ee.current.getViewport();return $.setState({panZoom:ee.current,transform:[C,B,F],domNode:H.current.closest(".react-flow")}),()=>{var V;(V=ee.current)==null||V.destroy()}}},[]),Y.useEffect(()=>{var C;(C=ee.current)==null||C.update({onPaneContextMenu:t,zoomOnScroll:r,zoomOnPinch:o,panOnScroll:l,panActivationKeyPressed:a,panOnScrollSpeed:c,panOnScrollMode:d,zoomOnDoubleClick:h,panOnDrag:p,zoomActivationKeyPressed:Z,preventScrolling:_,noPanClassName:N,userSelectionActive:X,noWheelClassName:E,lib:Q,onTransformChange:J,connectionInProgress:te,selectionOnDrag:b,paneClickDistance:P})},[t,r,o,l,a,c,d,h,p,Z,_,N,X,E,Q,J,te,b,P]),v.jsx("div",{className:"react-flow__renderer",ref:H,style:Sl,children:M})}const fS=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function hS(){const{userSelectionActive:t,userSelectionRect:r}=ze(fS,Ue);return t&&r?v.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const Tu=(t,r)=>o=>{o.target===r.current&&(t==null||t(o))},pS=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function gS({isSelecting:t,selectionKeyPressed:r,selectionMode:o=lo.Full,panOnDrag:l,autoPanOnSelection:a,paneClickDistance:c,selectionOnDrag:d,onSelectionStart:h,onSelectionEnd:p,onPaneClick:y,onPaneContextMenu:g,onPaneScroll:x,onPaneMouseEnter:m,onPaneMouseMove:S,onPaneMouseLeave:_,children:M}){const E=Y.useRef(0),N=be(),{userSelectionActive:T,elementsSelectable:k,dragging:P,panBy:b,autoPanSpeed:$}=ze(pS,Ue),H=k&&(t||T),X=Y.useRef(null),Q=Y.useRef(),te=Y.useRef(new Set),Z=Y.useRef(new Set),ee=Y.useRef(!1),J=Y.useRef(!1),C=Y.useRef({x:0,y:0}),B=Y.useRef(!1),F=G=>{if(J.current||ee.current||N.getState().connection.inProgress){J.current=!1,ee.current=!1;return}y==null||y(G),N.getState().resetSelectedElements(),N.setState({nodesSelectionActive:!1})},V=G=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){G.preventDefault();return}g==null||g(G)},A=x?G=>x(G):void 0,L=G=>{J.current&&(G.stopPropagation(),J.current=!1)},O=G=>{var Le,rt;if(G.pointerType==="touch"&&l!==!1&&!r)return;const{domNode:se,transform:pe}=N.getState();if(Q.current=se==null?void 0:se.getBoundingClientRect(),!Q.current)return;const we=G.target===X.current;if(!we&&!!G.target.closest(".nokey")||!t||!(d&&we||r)||G.button!==0||!G.isPrimary)return;(rt=(Le=G.target)==null?void 0:Le.setPointerCapture)==null||rt.call(Le,G.pointerId),J.current=!1;const{x:Ce,y:je}=Qt(G.nativeEvent,Q.current),Pe=xo({x:Ce,y:je},pe);N.setState({userSelectionRect:{width:0,height:0,startX:Pe.x,startY:Pe.y,x:Ce,y:je}}),we||(G.stopPropagation(),G.preventDefault())};function j(G,se){const{userSelectionRect:pe}=N.getState();if(!pe)return;const{transform:we,nodeLookup:ve,edgeLookup:me,connectionLookup:Ce,triggerNodeChanges:je,triggerEdgeChanges:Pe,defaultEdgeOptions:Le}=N.getState(),rt={x:pe.startX,y:pe.startY},{x:st,y:Ge}=ii(rt,we),Ke={startX:rt.x,startY:rt.y,x:Gq.id)),Z.current=new Set;const _t=(Le==null?void 0:Le.selectable)??!0;for(const q of te.current){const Se=Ce.get(q);if(Se)for(const{edgeId:Ie}of Se.values()){const Je=me.get(Ie);Je&&(Je.selectable??_t)&&Z.current.add(Ie)}}if(!fh(zt,te.current)){const q=qr(ve,te.current,!0);je(q)}if(!fh(St,Z.current)){const q=qr(me,Z.current);Pe(q)}N.setState({userSelectionRect:Ke,userSelectionActive:!0,nodesSelectionActive:!1})}function z(){if(!a||!Q.current)return;const[G,se]=ic(C.current,Q.current,$);b({x:G,y:se}).then(pe=>{if(!J.current||!pe){E.current=requestAnimationFrame(z);return}const{x:we,y:ve}=C.current;j(we,ve),E.current=requestAnimationFrame(z)})}const ne=()=>{cancelAnimationFrame(E.current),E.current=0,B.current=!1};Y.useEffect(()=>()=>ne(),[]);const re=G=>{const{userSelectionRect:se,transform:pe,resetSelectedElements:we}=N.getState();if(!Q.current||!se)return;const{x:ve,y:me}=Qt(G.nativeEvent,Q.current);C.current={x:ve,y:me};const Ce=ii({x:se.startX,y:se.startY},pe);if(!J.current){const je=r?0:c;if(Math.hypot(ve-Ce.x,me-Ce.y)<=je)return;we(),h==null||h(G)}J.current=!0,B.current||(z(),B.current=!0),j(ve,me)},ue=G=>{var se,pe;if(!H){G.target===X.current&&N.getState().connection.inProgress&&(ee.current=!0);return}G.button===0&&((pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),!T&&G.target===X.current&&N.getState().userSelectionRect&&(F==null||F(G)),N.setState({userSelectionActive:!1,userSelectionRect:null}),J.current&&(p==null||p(G),N.setState({nodesSelectionActive:te.current.size>0})),ne())},ce=G=>{var se,pe;(pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),ne()},de=l===!0||Array.isArray(l)&&l.includes(0);return v.jsxs("div",{className:Qe(["react-flow__pane",{draggable:de,dragging:P,selection:t}]),onClick:H?void 0:Tu(F,X),onContextMenu:Tu(V,X),onWheel:Tu(A,X),onPointerEnter:H?void 0:m,onPointerMove:H?re:S,onPointerUp:ue,onPointerCancel:H?ce:void 0,onPointerDownCapture:H?O:void 0,onClickCapture:H?L:void 0,onPointerLeave:_,ref:X,style:Sl,children:[M,v.jsx(hS,{})]})}function Xu({id:t,store:r,unselect:o=!1,nodeRef:l}){const{addSelectedNodes:a,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:h,onError:p}=r.getState(),y=h.get(t);if(!y){p==null||p("012",Gt.error012(t));return}r.setState({nodesSelectionActive:!1}),y.selected?(o||y.selected&&d)&&(c({nodes:[y],edges:[]}),requestAnimationFrame(()=>{var g;return(g=l==null?void 0:l.current)==null?void 0:g.blur()})):a([t])}function xg({nodeRef:t,disabled:r=!1,noDragClassName:o,handleSelector:l,nodeId:a,isSelectable:c,nodeClickDistance:d}){const h=be(),[p,y]=Y.useState(!1),g=Y.useRef();return Y.useEffect(()=>{if(!r)return g.current=e1({getStoreItems:()=>h.getState(),onNodeMouseDown:x=>{Xu({id:x,store:h,nodeRef:t})},onDragStart:()=>{y(!0)},onDragStop:()=>{y(!1)}}),()=>{var x;(x=g.current)==null||x.destroy(),g.current=void 0}},[r,h,t]),Y.useEffect(()=>{r||!t.current||!g.current||g.current.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:c,nodeId:a,nodeClickDistance:d})},[o,l,r,c,t,a,d]),p}const mS=t=>r=>r.selected&&(r.draggable||t&&typeof r.draggable>"u");function wg(){const t=be();return Y.useCallback(o=>{const{nodeExtent:l,snapToGrid:a,snapGrid:c,nodesDraggable:d,onError:h,updateNodePositions:p,nodeLookup:y,nodeOrigin:g}=t.getState(),x=new Map,m=mS(d),S=a?c[0]:5,_=a?c[1]:5,M=o.direction.x*S*o.factor,E=o.direction.y*_*o.factor;for(const[,N]of y){if(!m(N))continue;let T={x:N.internals.positionAbsolute.x+M,y:N.internals.positionAbsolute.y+E};a&&(T=vo(T,c));const{position:k,positionAbsolute:P}=bp({nodeId:N.id,nextPosition:T,nodeLookup:y,nodeExtent:l,nodeOrigin:g,onError:h});N.position=k,N.internals.positionAbsolute=P,x.set(N.id,N)}p(x)},[])}const hc=Y.createContext(null),yS=hc.Provider;hc.Consumer;const Sg=()=>Y.useContext(hc),vS=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),_g=Y.createContext(null);function xS({children:t}){const r=ze(vS,Ue);return v.jsx(_g.Provider,{value:r,children:t})}function wS(){const t=Y.useContext(_g);if(!t)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return t}const SS={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},_S=(t,r,o)=>l=>{const{connectionClickStartHandle:a,connectionMode:c,connection:d}=l,{fromHandle:h,toHandle:p,isValid:y}=d;if(!h&&!a)return SS;const g=(p==null?void 0:p.nodeId)===t&&(p==null?void 0:p.id)===r&&(p==null?void 0:p.type)===o;return{connectingFrom:(h==null?void 0:h.nodeId)===t&&(h==null?void 0:h.id)===r&&(h==null?void 0:h.type)===o,connectingTo:g,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.id)===r&&(a==null?void 0:a.type)===o,isPossibleEndHandle:c===ni.Strict?(h==null?void 0:h.type)!==o:t!==(h==null?void 0:h.nodeId)||r!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!a,valid:g&&y}};function kS({type:t="source",position:r=_e.Top,isValidConnection:o,isConnectable:l=!0,isConnectableStart:a=!0,isConnectableEnd:c=!0,id:d,onConnect:h,children:p,className:y,onMouseDown:g,onTouchStart:x,...m},S){var B,F;const _=d||null,M=t==="target",E=be(),N=Sg(),{connectOnClick:T,noPanClassName:k,rfId:P}=wS(),{connectingFrom:b,connectingTo:$,clickConnecting:H,isPossibleEndHandle:X,connectionInProcess:Q,clickConnectionInProcess:te,valid:Z}=ze(_S(N,_,t),Ue);N||(F=(B=E.getState()).onError)==null||F.call(B,"010",Gt.error010());const ee=V=>{const{defaultEdgeOptions:A,onConnect:L,hasDefaultEdges:O}=E.getState(),j={...A,...V};if(O){const{edges:z,setEdges:ne,onError:re}=E.getState();ne(tS(j,z,{onError:re}))}L==null||L(j),h==null||h(j)},J=V=>{if(!N)return;const A=Qp(V.nativeEvent);if(a&&(A&&V.button===0||!A)){const L=E.getState();Yu.onPointerDown(V.nativeEvent,{handleDomNode:V.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:M,handleId:_,nodeId:N,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...O)=>{var j,z;return(z=(j=E.getState()).onConnectEnd)==null?void 0:z.call(j,...O)},updateConnection:L.updateConnection,onConnect:ee,isValidConnection:o||((...O)=>{var j,z;return((z=(j=E.getState()).isValidConnection)==null?void 0:z.call(j,...O))??!0}),getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}A?g==null||g(V):x==null||x(V)},C=V=>{const{onClickConnectStart:A,onClickConnectEnd:L,connectionClickStartHandle:O,connectionMode:j,isValidConnection:z,lib:ne,rfId:re,nodeLookup:ue,connection:ce}=E.getState();if(!N||!O&&!a)return;if(!O){A==null||A(V.nativeEvent,{nodeId:N,handleId:_,handleType:t}),E.setState({connectionClickStartHandle:{nodeId:N,type:t,id:_}});return}const de=Yp(V.target),G=o||z,{connection:se,isValid:pe}=Yu.isValid(V.nativeEvent,{handle:{nodeId:N,id:_,type:t},connectionMode:j,fromNodeId:O.nodeId,fromHandleId:O.id||null,fromType:O.type,isValidConnection:G,flowId:re,doc:de,lib:ne,nodeLookup:ue});pe&&se&&ee(se);const we=structuredClone(ce);delete we.inProgress,we.toPosition=we.toHandle?we.toHandle.position:null,L==null||L(V,we),E.setState({connectionClickStartHandle:null})};return v.jsx("div",{"data-handleid":_,"data-nodeid":N,"data-handlepos":r,"data-id":`${P}-${N}-${_}-${t}`,className:Qe(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",k,y,{source:!M,target:M,connectable:l,connectablestart:a,connectableend:c,clickconnecting:H,connectingfrom:b,connectingto:$,valid:Z,connectionindicator:l&&(!Q||X)&&(Q||te?c:a)}]),onMouseDown:J,onTouchStart:J,onClick:T?C:void 0,ref:S,...m,children:p})}const al=Y.memo(mg(kS));function ES({data:t,isConnectable:r,sourcePosition:o=_e.Bottom}){return v.jsxs(v.Fragment,{children:[t==null?void 0:t.label,v.jsx(al,{type:"source",position:o,isConnectable:r})]})}function NS({data:t,isConnectable:r,targetPosition:o=_e.Top,sourcePosition:l=_e.Bottom}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label,v.jsx(al,{type:"source",position:l,isConnectable:r})]})}function CS(){return null}function jS({data:t,isConnectable:r,targetPosition:o=_e.Top}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label]})}const ul={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Bh={input:ES,default:NS,output:jS,group:CS};function MS(t){var r,o,l,a;return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??((r=t.style)==null?void 0:r.width),height:t.height??t.initialHeight??((o=t.style)==null?void 0:o.height)}:{width:t.width??((l=t.style)==null?void 0:l.width),height:t.height??((a=t.style)==null?void 0:a.height)}}const PS=t=>{const{width:r,height:o,x:l,y:a}=yo(t.nodeLookup,{filter:c=>!!c.selected});return{width:Xt(r)?r:null,height:Xt(o)?o:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${l}px,${a}px)`}};function IS({onSelectionContextMenu:t,noPanClassName:r,disableKeyboardA11y:o}){const l=be(),{width:a,height:c,transformString:d,userSelectionActive:h}=ze(PS,Ue),p=wg(),y=Y.useRef(null);Y.useEffect(()=>{var S;o||(S=y.current)==null||S.focus({preventScroll:!0})},[o]);const g=!h&&a!==null&&c!==null;if(xg({nodeRef:y,disabled:!g}),!g)return null;const x=t?S=>{const _=l.getState().nodes.filter(M=>M.selected);t(S,_)}:void 0,m=S=>{Object.prototype.hasOwnProperty.call(ul,S.key)&&(S.preventDefault(),p({direction:ul[S.key],factor:S.shiftKey?4:1}))};return v.jsx("div",{className:Qe(["react-flow__nodesselection","react-flow__container",r]),style:{transform:d},children:v.jsx("div",{ref:y,className:"react-flow__nodesselection-rect",onContextMenu:x,tabIndex:o?void 0:-1,onKeyDown:o?void 0:m,style:{width:a,height:c}})})}const Uh=typeof window<"u"?window:void 0,TS=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function kg({children:t,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:y,selectionOnDrag:g,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:M,zoomActivationKeyCode:E,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:P,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:X,autoPanOnSelection:Q,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,preventScrolling:C,onSelectionContextMenu:B,noWheelClassName:F,noPanClassName:V,disableKeyboardA11y:A,onViewportChange:L,isControlledViewport:O}){const{nodesSelectionActive:j,userSelectionActive:z}=ze(TS,Ue),ne=co(y,{target:Uh}),re=co(M,{target:Uh}),ue=re||X,ce=re||P,de=g&&ue!==!0,G=ne||z||de;return aS({deleteKeyCode:p,multiSelectionKeyCode:_}),v.jsx(dS,{onPaneContextMenu:c,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:ce,panActivationKeyPressed:re,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:!ne&&ue,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,zoomActivationKeyCode:E,preventScrolling:C,noWheelClassName:F,noPanClassName:V,onViewportChange:L,isControlledViewport:O,paneClickDistance:h,selectionOnDrag:de,children:v.jsxs(gS,{onSelectionStart:m,onSelectionEnd:S,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:ue,autoPanOnSelection:Q,isSelecting:!!G,selectionMode:x,selectionKeyPressed:ne,paneClickDistance:h,selectionOnDrag:de,children:[t,j&&v.jsx(IS,{onSelectionContextMenu:B,noPanClassName:V,disableKeyboardA11y:A})]})})}kg.displayName="FlowRenderer";const zS=Y.memo(kg),RS=t=>r=>t?rc(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(o=>o.id):Array.from(r.nodeLookup.keys());function LS(t){return ze(Y.useCallback(RS(t),[t]),Ue)}const AS=t=>t.updateNodeInternals;function $S(){const t=ze(AS),[r]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(o=>{const l=new Map;o.forEach(a=>{const c=a.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:a.target,force:!0})}),t(l)}));return Y.useEffect(()=>()=>{r==null||r.disconnect()},[r]),r}function DS({node:t,nodeType:r,hasDimensions:o,resizeObserver:l}){const a=be(),c=Y.useRef(null),d=Y.useRef(null),h=Y.useRef(t.sourcePosition),p=Y.useRef(t.targetPosition),y=Y.useRef(r),g=o&&!!t.internals.handleBounds;return Y.useEffect(()=>{c.current&&!t.hidden&&(!g||d.current!==c.current)&&(d.current&&(l==null||l.unobserve(d.current)),l==null||l.observe(c.current),d.current=c.current)},[g,t.hidden]),Y.useEffect(()=>()=>{d.current&&(l==null||l.unobserve(d.current),d.current=null)},[]),Y.useEffect(()=>{if(c.current){const x=y.current!==r,m=h.current!==t.sourcePosition,S=p.current!==t.targetPosition;(x||m||S)&&(y.current=r,h.current=t.sourcePosition,p.current=t.targetPosition,a.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,r,t.sourcePosition,t.targetPosition]),c}function OS({id:t,onClick:r,onMouseEnter:o,onMouseMove:l,onMouseLeave:a,onContextMenu:c,onDoubleClick:d,nodesDraggable:h,elementsSelectable:p,nodesConnectable:y,nodesFocusable:g,resizeObserver:x,noDragClassName:m,noPanClassName:S,disableKeyboardA11y:_,rfId:M,nodeTypes:E,nodeClickDistance:N,onError:T}){const{node:k,internals:P,isParent:b}=ze(G=>{const se=G.nodeLookup.get(t),pe=G.parentLookup.has(t);return{node:se,internals:se.internals,isParent:pe}},Ue);let $=k.type||"default",H=(E==null?void 0:E[$])||Bh[$];H===void 0&&(T==null||T("003",Gt.error003($)),$="default",H=(E==null?void 0:E.default)||Bh.default);const X=!!(k.draggable||h&&typeof k.draggable>"u"),Q=!!(k.selectable||p&&typeof k.selectable>"u"),te=!!(k.connectable||y&&typeof k.connectable>"u"),Z=!!(k.focusable||g&&typeof k.focusable>"u"),ee=be(),J=Up(k),C=DS({node:k,nodeType:$,hasDimensions:J,resizeObserver:x}),B=xg({nodeRef:C,disabled:k.hidden||!X,noDragClassName:m,handleSelector:k.dragHandle,nodeId:t,isSelectable:Q,nodeClickDistance:N}),F=wg();if(k.hidden)return null;const V=qt(k),A=MS(k),L=Q||X||r||o||l||a,O=o?G=>o(G,{...P.userNode}):void 0,j=l?G=>l(G,{...P.userNode}):void 0,z=a?G=>a(G,{...P.userNode}):void 0,ne=c?G=>c(G,{...P.userNode}):void 0,re=d?G=>d(G,{...P.userNode}):void 0,ue=G=>{const{selectNodesOnDrag:se,nodeDragThreshold:pe}=ee.getState();Q&&(!se||!X||pe>0)&&Xu({id:t,store:ee,nodeRef:C}),r&&r(G,{...P.userNode})},ce=G=>{if(!(Xp(G.nativeEvent)||_)){if(Lp.includes(G.key)&&Q){const se=G.key==="Escape";Xu({id:t,store:ee,unselect:se,nodeRef:C})}else if(X&&k.selected&&Object.prototype.hasOwnProperty.call(ul,G.key)){G.preventDefault();const{ariaLabelConfig:se}=ee.getState();ee.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:G.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),F({direction:ul[G.key],factor:G.shiftKey?4:1})}}},de=()=>{var Ce;if(_||!((Ce=C.current)!=null&&Ce.matches(":focus-visible")))return;const{transform:G,width:se,height:pe,autoPanOnNodeFocus:we,setCenter:ve}=ee.getState();if(!we)return;rc(new Map([[t,k]]),{x:0,y:0,width:se,height:pe},G,!0).length>0||ve(k.position.x+V.width/2,k.position.y+V.height/2,{zoom:G[2]})};return v.jsx("div",{className:Qe(["react-flow__node",`react-flow__node-${$}`,{[S]:X},k.className,{selected:k.selected,selectable:Q,parent:b,draggable:X,dragging:B}]),ref:C,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:J?"visible":"hidden",...k.style,...A},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:O,onMouseMove:j,onMouseLeave:z,onContextMenu:ne,onClick:ue,onDoubleClick:re,onKeyDown:Z?ce:void 0,tabIndex:Z?0:void 0,onFocus:Z?de:void 0,role:k.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${fg}-${M}`,"aria-label":k.ariaLabel,...k.domAttributes,children:v.jsx(yS,{value:t,children:v.jsx(H,{id:t,data:k.data,type:$,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:k.selected??!1,selectable:Q,draggable:X,deletable:k.deletable??!0,isConnectable:te,sourcePosition:k.sourcePosition,targetPosition:k.targetPosition,dragging:B,dragHandle:k.dragHandle,zIndex:P.z,parentId:k.parentId,...V})})})}var bS=Y.memo(OS);const FS=t=>({nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Eg(t){const{nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,onError:a}=ze(FS,Ue),c=LS(t.onlyRenderVisibleElements),d=$S();return v.jsx("div",{className:"react-flow__nodes",style:Sl,children:c.map(h=>v.jsx(bS,{id:h,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:d,nodesDraggable:t.nodesDraggable??!0,nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,nodeClickDistance:t.nodeClickDistance,onError:a},h))})}Eg.displayName="NodeRenderer";const HS=Y.memo(Eg);function VS(t){return ze(Y.useCallback(o=>{if(!t)return o.edges.map(a=>a.id);const l=[];if(o.width&&o.height)for(const a of o.edges){const c=o.nodeLookup.get(a.source),d=o.nodeLookup.get(a.target);c&&d&&Aw({sourceNode:c,targetNode:d,width:o.width,height:o.height,transform:o.transform})&&l.push(a.id)}return l},[t]),Ue)}const BS=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t}};return v.jsx("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},US=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t,fill:t}};return v.jsx("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Wh={[ol.Arrow]:BS,[ol.ArrowClosed]:US};function WS(t){const r=be();return Y.useMemo(()=>{var a,c;return Object.prototype.hasOwnProperty.call(Wh,t)?Wh[t]:((c=(a=r.getState()).onError)==null||c.call(a,"009",Gt.error009(t)),null)},[t])}const YS=({id:t,type:r,color:o,width:l=12.5,height:a=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:h="auto-start-reverse"})=>{const p=WS(r);return p?v.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${l}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:v.jsx(p,{color:o,strokeWidth:d})}):null},Ng=({defaultColor:t,rfId:r})=>{const o=ze(c=>c.edges),l=ze(c=>c.defaultEdgeOptions),a=Y.useMemo(()=>Bw(o,{id:r,defaultColor:t,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[o,l,r,t]);return a.length?v.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:v.jsx("defs",{children:a.map(c=>v.jsx(YS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Ng.displayName="MarkerDefinitions";var XS=Y.memo(Ng);function Cg({x:t,y:r,label:o,labelStyle:l,labelShowBg:a=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:h=2,children:p,className:y,...g}){const[x,m]=Y.useState({x:1,y:0,width:0,height:0}),S=Qe(["react-flow__edge-textwrapper",y]),_=Y.useRef(null);return Y.useEffect(()=>{if(_.current){const M=_.current.getBBox();m({x:M.x,y:M.y,width:M.width,height:M.height})}},[o]),o?v.jsxs("g",{transform:`translate(${t-x.width/2} ${r-x.height/2})`,className:S,visibility:x.width?"visible":"hidden",...g,children:[a&&v.jsx("rect",{width:x.width+2*d[0],x:-d[0],y:-d[1],height:x.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),v.jsx("text",{className:"react-flow__edge-text",y:x.height/2,dy:"0.3em",ref:_,style:l,children:o}),p]}):null}Cg.displayName="EdgeText";const QS=Y.memo(Cg);function _l({path:t,labelX:r,labelY:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:y=20,...g}){return v.jsxs(v.Fragment,{children:[v.jsx("path",{...g,d:t,fill:"none",className:Qe(["react-flow__edge-path",g.className])}),y?v.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:y,className:"react-flow__edge-interaction"}):null,l&&Xt(r)&&Xt(o)?v.jsx(QS,{x:r,y:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Yh({pos:t,x1:r,y1:o,x2:l,y2:a}){return t===_e.Left||t===_e.Right?[.5*(r+l),o]:[r,.5*(o+a)]}function jg({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top}){const[d,h]=Yh({pos:o,x1:t,y1:r,x2:l,y2:a}),[p,y]=Yh({pos:c,x1:l,y1:a,x2:t,y2:r}),[g,x,m,S]=Gp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:d,sourceControlY:h,targetControlX:p,targetControlY:y});return[`M${t},${r} C${d},${h} ${p},${y} ${l},${a}`,g,x,m,S]}function Mg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d,targetPosition:h,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})=>{const[T,k,P]=jg({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h}),b=t.isInternal?void 0:r;return v.jsx(_l,{id:b,path:T,labelX:k,labelY:P,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})})}const GS=Mg({isInternal:!1}),Pg=Mg({isInternal:!0});GS.displayName="SimpleBezierEdge";Pg.displayName="SimpleBezierEdgeInternal";function Ig(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,sourcePosition:S=_e.Bottom,targetPosition:_=_e.Top,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Bu({sourceX:o,sourceY:l,sourcePosition:S,targetX:a,targetY:c,targetPosition:_,borderRadius:N==null?void 0:N.borderRadius,offset:N==null?void 0:N.offset,stepPosition:N==null?void 0:N.stepPosition}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:M,markerStart:E,interactionWidth:T})})}const Tg=Ig({isInternal:!1}),zg=Ig({isInternal:!0});Tg.displayName="SmoothStepEdge";zg.displayName="SmoothStepEdgeInternal";function Rg(t){return Y.memo(({id:r,...o})=>{var a;const l=t.isInternal?void 0:r;return v.jsx(Tg,{...o,id:l,pathOptions:Y.useMemo(()=>{var c;return{borderRadius:0,offset:(c=o.pathOptions)==null?void 0:c.offset}},[(a=o.pathOptions)==null?void 0:a.offset])})})}const KS=Rg({isInternal:!1}),Lg=Rg({isInternal:!0});KS.displayName="StepEdge";Lg.displayName="StepEdgeInternal";function Ag(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})=>{const[E,N,T]=Zp({sourceX:o,sourceY:l,targetX:a,targetY:c}),k=t.isInternal?void 0:r;return v.jsx(_l,{id:k,path:E,labelX:N,labelY:T,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})})}const qS=Ag({isInternal:!1}),$g=Ag({isInternal:!0});qS.displayName="StraightEdge";$g.displayName="StraightEdgeInternal";function Dg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d=_e.Bottom,targetPosition:h=_e.Top,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Kp({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h,curvature:N==null?void 0:N.curvature}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:T})})}const ZS=Dg({isInternal:!1}),Og=Dg({isInternal:!0});ZS.displayName="BezierEdge";Og.displayName="BezierEdgeInternal";const Xh={default:Og,straight:$g,step:Lg,smoothstep:zg,simplebezier:Pg},Qh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},JS=(t,r,o)=>o===_e.Left?t-r:o===_e.Right?t+r:t,e_=(t,r,o)=>o===_e.Top?t-r:o===_e.Bottom?t+r:t,Gh="react-flow__edgeupdater";function Kh({position:t,centerX:r,centerY:o,radius:l=10,onMouseDown:a,onMouseEnter:c,onMouseOut:d,type:h}){return v.jsx("circle",{onMouseDown:a,onMouseEnter:c,onMouseOut:d,className:Qe([Gh,`${Gh}-${h}`]),cx:JS(r,l,t),cy:e_(o,l,t),r:l,stroke:"transparent",fill:"transparent"})}function t_({isReconnectable:t,reconnectRadius:r,edge:o,sourceX:l,sourceY:a,targetX:c,targetY:d,sourcePosition:h,targetPosition:p,onReconnect:y,onReconnectStart:g,onReconnectEnd:x,setReconnecting:m,setUpdateHover:S}){const _=be(),M=(P,b)=>{if(P.button!==0)return;const{autoPanOnConnect:$,domNode:H,connectionMode:X,connectionRadius:Q,lib:te,onConnectStart:Z,cancelConnection:ee,nodeLookup:J,rfId:C,panBy:B,updateConnection:F}=_.getState(),V=b.type==="target",A=(j,z)=>{m(!1),x==null||x(j,o,b.type,z)},L=j=>y==null?void 0:y(o,j),O=(j,z)=>{m(!0),g==null||g(P,o,b.type),Z==null||Z(j,z)};Yu.onPointerDown(P.nativeEvent,{autoPanOnConnect:$,connectionMode:X,connectionRadius:Q,domNode:H,handleId:b.id,nodeId:b.nodeId,nodeLookup:J,isTarget:V,edgeUpdaterType:b.type,lib:te,flowId:C,cancelConnection:ee,panBy:B,isValidConnection:(...j)=>{var z,ne;return((ne=(z=_.getState()).isValidConnection)==null?void 0:ne.call(z,...j))??!0},onConnect:L,onConnectStart:O,onConnectEnd:(...j)=>{var z,ne;return(ne=(z=_.getState()).onConnectEnd)==null?void 0:ne.call(z,...j)},onReconnectEnd:A,updateConnection:F,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:P.currentTarget})},E=P=>M(P,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),N=P=>M(P,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),T=()=>S(!0),k=()=>S(!1);return v.jsxs(v.Fragment,{children:[(t===!0||t==="source")&&v.jsx(Kh,{position:h,centerX:l,centerY:a,radius:r,onMouseDown:E,onMouseEnter:T,onMouseOut:k,type:"source"}),(t===!0||t==="target")&&v.jsx(Kh,{position:p,centerX:c,centerY:d,radius:r,onMouseDown:N,onMouseEnter:T,onMouseOut:k,type:"target"})]})}function n_({id:t,edgesFocusable:r,edgesReconnectable:o,elementsSelectable:l,onClick:a,onDoubleClick:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,rfId:_,edgeTypes:M,noPanClassName:E,onError:N,disableKeyboardA11y:T}){let k=ze(ve=>ve.edgeLookup.get(t));const P=ze(ve=>ve.defaultEdgeOptions);k=P?{...P,...k}:k;let b=k.type||"default",$=(M==null?void 0:M[b])||Xh[b];$===void 0&&(N==null||N("011",Gt.error011(b)),b="default",$=(M==null?void 0:M.default)||Xh.default);const H=!!(k.focusable||r&&typeof k.focusable>"u"),X=typeof x<"u"&&(k.reconnectable||o&&typeof k.reconnectable>"u"),Q=!!(k.selectable||l&&typeof k.selectable>"u"),te=Y.useRef(null),[Z,ee]=Y.useState(!1),[J,C]=Y.useState(!1),B=be(),{zIndex:F=k.zIndex,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z}=ze(Y.useCallback(ve=>{const me=ve.nodeLookup.get(k.source),Ce=ve.nodeLookup.get(k.target);if(!me||!Ce)return Qh;const je=Vw({id:t,sourceNode:me,targetNode:Ce,sourceHandle:k.sourceHandle||null,targetHandle:k.targetHandle||null,connectionMode:ve.connectionMode,onError:N}),Pe=Lw({selected:k.selected,zIndex:k.zIndex,sourceNode:me,targetNode:Ce,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode});return{...je||Qh,zIndex:Pe}},[k.source,k.target,k.sourceHandle,k.targetHandle,k.selected,k.zIndex,N]),Ue),ne=Y.useMemo(()=>k.markerStart?`url('#${Uu(k.markerStart,_)}')`:void 0,[k.markerStart,_]),re=Y.useMemo(()=>k.markerEnd?`url('#${Uu(k.markerEnd,_)}')`:void 0,[k.markerEnd,_]);if(k.hidden||V===null||A===null||L===null||O===null)return null;const ue=ve=>{var Pe;const{addSelectedEdges:me,unselectNodesAndEdges:Ce,multiSelectionActive:je}=B.getState();Q&&(B.setState({nodesSelectionActive:!1}),k.selected&&je?(Ce({nodes:[],edges:[k]}),(Pe=te.current)==null||Pe.blur()):me([t])),a&&a(ve,k)},ce=c?ve=>{c(ve,{...k})}:void 0,de=d?ve=>{d(ve,{...k})}:void 0,G=h?ve=>{h(ve,{...k})}:void 0,se=p?ve=>{p(ve,{...k})}:void 0,pe=y?ve=>{y(ve,{...k})}:void 0,we=ve=>{var me;if(!T&&Lp.includes(ve.key)&&Q){const{unselectNodesAndEdges:Ce,addSelectedEdges:je}=B.getState();ve.key==="Escape"?((me=te.current)==null||me.blur(),Ce({edges:[k]})):je([t])}};return v.jsx("svg",{style:{zIndex:F},children:v.jsxs("g",{className:Qe(["react-flow__edge",`react-flow__edge-${b}`,k.className,E,{selected:k.selected,animated:k.animated,inactive:!Q&&!a,updating:Z,selectable:Q}]),onClick:ue,onDoubleClick:ce,onContextMenu:de,onMouseEnter:G,onMouseMove:se,onMouseLeave:pe,onKeyDown:H?we:void 0,tabIndex:H?0:void 0,role:k.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":k.ariaLabel===null?void 0:k.ariaLabel||`Edge from ${k.source} to ${k.target}`,"aria-describedby":H?`${hg}-${_}`:void 0,ref:te,...k.domAttributes,children:[!J&&v.jsx($,{id:t,source:k.source,target:k.target,type:k.type,selected:k.selected,animated:k.animated,selectable:Q,deletable:k.deletable??!0,label:k.label,labelStyle:k.labelStyle,labelShowBg:k.labelShowBg,labelBgStyle:k.labelBgStyle,labelBgPadding:k.labelBgPadding,labelBgBorderRadius:k.labelBgBorderRadius,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,data:k.data,style:k.style,sourceHandleId:k.sourceHandle,targetHandleId:k.targetHandle,markerStart:ne,markerEnd:re,pathOptions:"pathOptions"in k?k.pathOptions:void 0,interactionWidth:k.interactionWidth}),X&&v.jsx(t_,{edge:k,isReconnectable:X,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,setUpdateHover:ee,setReconnecting:C})]})})}var r_=Y.memo(n_);const i_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function bg({defaultMarkerColor:t,onlyRenderVisibleElements:r,rfId:o,edgeTypes:l,noPanClassName:a,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:y,onEdgeClick:g,reconnectRadius:x,onEdgeDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:M}){const{edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,onError:k}=ze(i_,Ue),P=VS(r);return v.jsxs("div",{className:"react-flow__edges",children:[v.jsx(XS,{defaultColor:t,rfId:o}),P.map(b=>v.jsx(r_,{id:b,edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,noPanClassName:a,onReconnect:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,onClick:g,reconnectRadius:x,onDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,rfId:o,onError:k,edgeTypes:l,disableKeyboardA11y:M},b))]})}bg.displayName="EdgeRenderer";const o_=Y.memo(bg),qh=t=>`translate(${t[0]}px,${t[1]}px) scale(${t[2]})`;function s_({children:t}){const r=be(),o=Y.useRef(null),[l]=Y.useState(()=>r.getState().transform);return yg(()=>{let a=null;const c=()=>{const d=r.getState().transform;a&&d[0]===a[0]&&d[1]===a[1]&&d[2]===a[2]||(a=d,o.current&&(o.current.style.transform=qh(d)))};return c(),r.subscribe(c)},[r]),v.jsx("div",{ref:o,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:qh(l)},children:t})}function l_(t){const r=fc(),o=Y.useRef(!1);Y.useEffect(()=>{!o.current&&r.viewportInitialized&&t&&(setTimeout(()=>t(r),1),o.current=!0)},[t,r.viewportInitialized])}const a_=t=>{var r;return(r=t.panZoom)==null?void 0:r.syncViewport};function u_(t){const r=ze(a_),o=be();return Y.useEffect(()=>{t&&(r==null||r(t),o.setState({transform:[t.x,t.y,t.zoom]}))},[t,r]),null}function c_(t){return t.connection.inProgress?{...t.connection,to:xo(t.connection.to,t.transform)}:{...t.connection}}function d_(t){return c_}function f_(t){const r=d_();return ze(r,Ue)}const h_=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function p_({containerStyle:t,style:r,type:o,component:l}){const{nodesConnectable:a,width:c,height:d,isValid:h,inProgress:p}=ze(h_,Ue);return!(c&&a&&p)?null:v.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:v.jsx("g",{className:Qe(["react-flow__connection",Dp(h)]),children:v.jsx(Fg,{style:r,type:o,CustomComponent:l,isValid:h})})})}const Fg=({style:t,type:r=Wn.Bezier,CustomComponent:o,isValid:l})=>{const{inProgress:a,from:c,fromNode:d,fromHandle:h,fromPosition:p,to:y,toNode:g,toHandle:x,toPosition:m,pointer:S}=f_();if(!a)return;if(o)return v.jsx(o,{connectionLineType:r,connectionLineStyle:t,fromNode:d,fromHandle:h,fromX:c.x,fromY:c.y,toX:y.x,toY:y.y,fromPosition:p,toPosition:m,connectionStatus:Dp(l),toNode:g,toHandle:x,pointer:S});let _="";const M={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:y.x,targetY:y.y,targetPosition:m};switch(r){case Wn.Bezier:[_]=Kp(M);break;case Wn.SimpleBezier:[_]=jg(M);break;case Wn.Step:[_]=Bu({...M,borderRadius:0});break;case Wn.SmoothStep:[_]=Bu(M);break;default:[_]=Zp(M)}return v.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:t})};Fg.displayName="ConnectionLine";const g_={};function Zh(t=g_){Y.useRef(t),be(),Y.useEffect(()=>{},[t])}function m_(){be(),Y.useRef(!1),Y.useEffect(()=>{},[])}function Hg({nodeTypes:t,edgeTypes:r,onInit:o,onNodeClick:l,onEdgeClick:a,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,onSelectionContextMenu:x,onSelectionStart:m,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:M,connectionLineComponent:E,connectionLineContainerStyle:N,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,deleteKeyCode:X,onlyRenderVisibleElements:Q,elementsSelectable:te,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,preventScrolling:B,defaultMarkerColor:F,zoomOnScroll:V,zoomOnPinch:A,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,zoomOnDoubleClick:z,panOnDrag:ne,autoPanOnSelection:re,onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneScroll:se,onPaneContextMenu:pe,paneClickDistance:we,nodeClickDistance:ve,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,viewport:Ie,onViewportChange:Je,nodesDraggable:wn}){return Zh(t),Zh(r),m_(),l_(o),u_(Ie),v.jsx(zS,{onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneContextMenu:pe,onPaneScroll:se,paneClickDistance:we,deleteKeyCode:X,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,elementsSelectable:te,zoomOnScroll:V,zoomOnPinch:A,zoomOnDoubleClick:z,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,panOnDrag:ne,autoPanOnSelection:re,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,onSelectionContextMenu:x,preventScrolling:B,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,onViewportChange:Je,isControlledViewport:!!Ie,children:v.jsxs(s_,{children:[v.jsx(o_,{edgeTypes:r,onEdgeClick:a,onEdgeDoubleClick:d,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,onlyRenderVisibleElements:Q,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,defaultMarkerColor:F,noPanClassName:St,disableKeyboardA11y:_t,rfId:Se}),v.jsx(p_,{style:M,type:_,component:E,containerStyle:N}),v.jsx("div",{className:"react-flow__edgelabel-renderer"}),v.jsx(HS,{nodeTypes:t,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:Q,noPanClassName:St,noDragClassName:Ke,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,nodesDraggable:wn}),v.jsx("div",{className:"react-flow__viewport-portal"})]})})}Hg.displayName="GraphView";const y_=Y.memo(Hg),v_=Bp(),Jh=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p=.5,maxZoom:y=2,nodeOrigin:g,nodeExtent:x,zIndexMode:m="basic"}={})=>{const S=new Map,_=new Map,M=new Map,E=new Map,N=l??r??[],T=o??t??[],k=g??[0,0],P=x??so;tg(M,E,N);const{nodesInitialized:b}=Wu(T,S,_,{nodeOrigin:k,nodeExtent:P,zIndexMode:m});let $=[0,0,1];if(d&&a&&c){const H=yo(S,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:X,y:Q,zoom:te}=oc(H,a,c,p,y,(h==null?void 0:h.padding)??.1);$=[X,Q,te]}return{rfId:"1",width:a??0,height:c??0,transform:$,nodes:T,nodesInitialized:b,nodeLookup:S,parentLookup:_,edges:N,edgeLookup:E,connectionLookup:M,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:o!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:p,maxZoom:y,translateExtent:so,nodeExtent:P,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ni.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:k,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:d??!1,fitViewOptions:h,fitViewResolver:null,connection:{...$p},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:v_,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ap,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},x_=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m})=>T1((S,_)=>{async function M(){const{nodeLookup:E,panZoom:N,fitViewOptions:T,fitViewResolver:k,width:P,height:b,minZoom:$,maxZoom:H}=_();N&&(await jw({nodes:E,width:P,height:b,panZoom:N,minZoom:$,maxZoom:H},T),k==null||k.resolve(!0),S({fitViewResolver:null}))}return{...Jh({nodes:t,edges:r,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,defaultNodes:o,defaultEdges:l,zIndexMode:m}),setNodes:E=>{const{nodeLookup:N,parentLookup:T,nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,fitViewQueued:$,zIndexMode:H,nodesSelectionActive:X}=_(),{nodesInitialized:Q,hasSelectedNodes:te}=Wu(E,N,T,{nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,checkEquality:!0,zIndexMode:H}),Z=X&&te;$&&Q?(M(),S({nodes:E,nodesInitialized:Q,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:Z})):S({nodes:E,nodesInitialized:Q,nodesSelectionActive:Z})},setEdges:E=>{const{connectionLookup:N,edgeLookup:T}=_();tg(N,T,E),S({edges:E})},setDefaultNodesAndEdges:(E,N)=>{if(E){const{setNodes:T}=_();T(E),S({hasDefaultNodes:!0})}if(N){const{setEdges:T}=_();T(N),S({hasDefaultEdges:!0})}},updateNodeInternals:E=>{const{triggerNodeChanges:N,nodeLookup:T,parentLookup:k,domNode:P,nodeOrigin:b,nodeExtent:$,debug:H,fitViewQueued:X,zIndexMode:Q}=_(),{changes:te,updatedInternals:Z}=Kw(E,T,k,P,b,$,Q);Z&&(Yw(T,k,{nodeOrigin:b,nodeExtent:$,zIndexMode:Q}),X?(M(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),(te==null?void 0:te.length)>0&&(H&&console.log("React Flow: trigger node changes",te),N==null||N(te)))},updateNodePositions:(E,N=!1)=>{const T=[];let k=[];const{nodeLookup:P,triggerNodeChanges:b,connection:$,updateConnection:H,onNodesChangeMiddlewareMap:X}=_();for(const[Q,te]of E){const Z=P.get(Q),ee=!!(Z!=null&&Z.expandParent&&(Z!=null&&Z.parentId)&&(te!=null&&te.position)),J={id:Q,type:"position",position:ee?{x:Math.max(0,te.position.x),y:Math.max(0,te.position.y)}:te.position,dragging:N};if(Z&&$.inProgress&&$.fromNode.id===Z.id){const C=wr(Z,$.fromHandle,_e.Left,!0);H({...$,from:C})}ee&&Z.parentId&&T.push({id:Q,parentId:Z.parentId,rect:{...te.internals.positionAbsolute,width:te.measured.width??0,height:te.measured.height??0}}),k.push(J)}if(T.length>0){const{parentLookup:Q,nodeOrigin:te}=_(),Z=dc(T,P,Q,te);k.push(...Z)}for(const Q of X.values())k=Q(k);b(k)},triggerNodeChanges:E=>{const{onNodesChange:N,setNodes:T,nodes:k,hasDefaultNodes:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=Z1(E,k);T($)}b&&console.log("React Flow: trigger node changes",E),N==null||N(E)}},triggerEdgeChanges:E=>{const{onEdgesChange:N,setEdges:T,edges:k,hasDefaultEdges:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=J1(E,k);T($)}b&&console.log("React Flow: trigger edge changes",E),N==null||N(E)}},addSelectedNodes:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));P($);return}P(qr(k,new Set([...E]),!0)),b(qr(T))},addSelectedEdges:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));b($);return}b(qr(T,new Set([...E]))),P(qr(k,new Set,!0))},unselectNodesAndEdges:({nodes:E,edges:N}={})=>{const{edges:T,nodes:k,nodeLookup:P,triggerNodeChanges:b,triggerEdgeChanges:$}=_(),H=E||k,X=N||T,Q=[];for(const Z of H){if(!Z.selected)continue;const ee=P.get(Z.id);ee&&(ee.selected=!1),Q.push(fr(Z.id,!1))}const te=[];for(const Z of X)Z.selected&&te.push(fr(Z.id,!1));b(Q),$(te)},setMinZoom:E=>{const{panZoom:N,maxZoom:T}=_();N==null||N.setScaleExtent([E,T]),S({minZoom:E})},setMaxZoom:E=>{const{panZoom:N,minZoom:T}=_();N==null||N.setScaleExtent([T,E]),S({maxZoom:E})},setTranslateExtent:E=>{var N;(N=_().panZoom)==null||N.setTranslateExtent(E),S({translateExtent:E})},resetSelectedElements:()=>{const{edges:E,nodes:N,triggerNodeChanges:T,triggerEdgeChanges:k,elementsSelectable:P}=_();if(!P)return;const b=N.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]),$=E.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]);T(b),k($)},setNodeExtent:E=>{const{nodes:N,nodeLookup:T,parentLookup:k,nodeOrigin:P,elevateNodesOnSelect:b,nodeExtent:$,zIndexMode:H}=_();E[0][0]===$[0][0]&&E[0][1]===$[0][1]&&E[1][0]===$[1][0]&&E[1][1]===$[1][1]||(Wu(N,T,k,{nodeOrigin:P,nodeExtent:E,elevateNodesOnSelect:b,checkEquality:!1,zIndexMode:H}),S({nodeExtent:E}))},panBy:E=>{const{transform:N,width:T,height:k,panZoom:P,translateExtent:b}=_();return qw({delta:E,panZoom:P,transform:N,translateExtent:b,width:T,height:k})},setCenter:async(E,N,T)=>{const{width:k,height:P,maxZoom:b,panZoom:$}=_();if(!$)return!1;const H=typeof(T==null?void 0:T.zoom)<"u"?T.zoom:b;return await $.setViewport({x:k/2-E*H,y:P/2-N*H,zoom:H},{duration:T==null?void 0:T.duration,ease:T==null?void 0:T.ease,interpolate:T==null?void 0:T.interpolate}),!0},cancelConnection:()=>{S({connection:{...$p}})},updateConnection:E=>{S({connection:E})},reset:()=>S({...Jh()})}},Object.is);function Vg({initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:l,initialWidth:a,initialHeight:c,initialMinZoom:d,initialMaxZoom:h,initialFitViewOptions:p,fitView:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m,children:S}){const[_]=Y.useState(()=>x_({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:y,minZoom:d,maxZoom:h,fitViewOptions:p,nodeOrigin:g,nodeExtent:x,zIndexMode:m}));return v.jsx(z1,{value:_,children:v.jsx(iS,{children:v.jsx(xS,{children:S})})})}function w_({children:t,nodes:r,edges:o,defaultNodes:l,defaultEdges:a,width:c,height:d,fitView:h,fitViewOptions:p,minZoom:y,maxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S}){return Y.useContext(xl)?v.jsx(v.Fragment,{children:t}):v.jsx(Vg,{initialNodes:r,initialEdges:o,defaultNodes:l,defaultEdges:a,initialWidth:c,initialHeight:d,fitView:h,initialFitViewOptions:p,initialMinZoom:y,initialMaxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S,children:t})}const S_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function __({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,className:a,nodeTypes:c,edgeTypes:d,onNodeClick:h,onEdgeClick:p,onInit:y,onMove:g,onMoveStart:x,onMoveEnd:m,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onSelectionChange:J,onSelectionDragStart:C,onSelectionDrag:B,onSelectionDragStop:F,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onBeforeDelete:O,connectionMode:j,connectionLineType:z=Wn.Bezier,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,deleteKeyCode:ce="Backspace",selectionKeyCode:de="Shift",selectionOnDrag:G=!1,selectionMode:se=lo.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:we=uo()?"Meta":"Control",zoomActivationKeyCode:ve=uo()?"Meta":"Control",snapToGrid:me,snapGrid:Ce,onlyRenderVisibleElements:je=!1,selectNodesOnDrag:Pe,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,nodeOrigin:Ke=pg,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t=!0,defaultViewport:q=W1,minZoom:Se=.5,maxZoom:Ie=2,translateExtent:Je=so,preventScrolling:wn=!0,nodeExtent:ln,defaultMarkerColor:Xn="#b1b1b7",zoomOnScroll:kl=!0,zoomOnPinch:wo=!0,panOnScroll:So=!1,panOnScrollSpeed:El=.5,panOnScrollMode:si=gr.Free,zoomOnDoubleClick:li=!0,panOnDrag:ai=!0,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo=1,nodeClickDistance:No=0,children:Co,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r=10,onNodesChange:hi,onEdgesChange:Cl,noDragClassName:jl="nodrag",noWheelClassName:Ml="nowheel",noPanClassName:Zt="nopan",fitView:pi,fitViewOptions:gi,connectOnClick:Pl,attributionPosition:Mo,proOptions:Po,defaultEdgeOptions:Io,elevateNodesOnSelect:To=!0,elevateEdgesOnSelect:Il=!1,disableKeyboardA11y:zo=!1,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanOnSelection:mi=!0,autoPanSpeed:Ro,connectionRadius:kr,isValidConnection:zl,onError:Lo,style:Er,id:kt,nodeDragThreshold:Rl,connectionDragThreshold:Et,viewport:Ll,onViewportChange:Al,width:$l,height:Nr,colorMode:Cr="light",debug:qn,onScroll:an,ariaLabelConfig:Dl,zIndexMode:Ao="basic",...yi},$o){const Zn=kt||"1",Jn=G1(Cr),Ol=Y.useCallback(jr=>{jr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),an==null||an(jr)},[an]);return v.jsx("div",{"data-testid":"rf__wrapper",...yi,onScroll:Ol,style:{...Er,...S_},ref:$o,className:Qe(["react-flow",a,Jn]),id:kt,role:"application",children:v.jsxs(w_,{nodes:t,edges:r,width:$l,height:Nr,fitView:pi,fitViewOptions:gi,minZoom:Se,maxZoom:Ie,nodeOrigin:Ke,nodeExtent:ln,zIndexMode:Ao,children:[v.jsx(Q1,{nodes:t,edges:r,defaultNodes:o,defaultEdges:l,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t,elevateNodesOnSelect:To,elevateEdgesOnSelect:Il,minZoom:Se,maxZoom:Ie,nodeExtent:ln,onNodesChange:hi,onEdgesChange:Cl,snapToGrid:me,snapGrid:Ce,connectionMode:j,translateExtent:Je,connectOnClick:Pl,defaultEdgeOptions:Io,fitView:pi,fitViewOptions:gi,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onSelectionDrag:B,onSelectionDragStart:C,onSelectionDragStop:F,onMove:g,onMoveStart:x,onMoveEnd:m,noPanClassName:Zt,nodeOrigin:Ke,rfId:Zn,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanSpeed:Ro,onError:Lo,connectionRadius:kr,isValidConnection:zl,selectNodesOnDrag:Pe,nodeDragThreshold:Rl,connectionDragThreshold:Et,onBeforeDelete:O,debug:qn,ariaLabelConfig:Dl,zIndexMode:Ao}),v.jsx(y_,{onInit:y,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,nodeTypes:c,edgeTypes:d,connectionLineType:z,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,selectionKeyCode:de,selectionOnDrag:G,selectionMode:se,deleteKeyCode:ce,multiSelectionKeyCode:we,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:je,defaultViewport:q,translateExtent:Je,minZoom:Se,maxZoom:Ie,preventScrolling:wn,zoomOnScroll:kl,zoomOnPinch:wo,zoomOnDoubleClick:li,panOnScroll:So,panOnScrollSpeed:El,panOnScrollMode:si,panOnDrag:ai,autoPanOnSelection:mi,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo,nodeClickDistance:No,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r,defaultMarkerColor:Xn,noDragClassName:jl,noWheelClassName:Ml,noPanClassName:Zt,rfId:Zn,disableKeyboardA11y:zo,nodeExtent:ln,viewport:Ll,onViewportChange:Al,nodesDraggable:Le}),v.jsx(U1,{onSelectionChange:J}),Co,v.jsx(b1,{proOptions:Po,position:Mo}),v.jsx(O1,{rfId:Zn,disableKeyboardA11y:zo})]})})}var k_=mg(__);function E_({dimensions:t,lineWidth:r,variant:o,className:l}){return v.jsx("path",{strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Qe(["react-flow__background-pattern",o,l])})}function N_({radius:t,className:r}){return v.jsx("circle",{cx:t,cy:t,r:t,className:Qe(["react-flow__background-pattern","dots",r])})}var Yn;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Yn||(Yn={}));const C_={[Yn.Dots]:1,[Yn.Lines]:1,[Yn.Cross]:6},j_=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Bg({id:t,variant:r=Yn.Dots,gap:o=20,size:l,lineWidth:a=1,offset:c=0,color:d,bgColor:h,style:p,className:y,patternClassName:g}){const x=Y.useRef(null),{transform:m,patternId:S}=ze(j_,Ue),_=l||C_[r],M=r===Yn.Dots,E=r===Yn.Cross,N=Array.isArray(o)?o:[o,o],T=[N[0]*m[2]||1,N[1]*m[2]||1],k=_*m[2],P=Array.isArray(c)?c:[c,c],b=E?[k,k]:T,$=[P[0]*m[2]+b[0]/2,P[1]*m[2]+b[1]/2],H=`${S}${t||""}`;return v.jsxs("svg",{className:Qe(["react-flow__background",y]),style:{...p,...Sl,"--xy-background-color-props":h,"--xy-background-pattern-color-props":d},ref:x,"data-testid":"rf__background",children:[v.jsx("pattern",{id:H,x:m[0]%T[0],y:m[1]%T[1],width:T[0],height:T[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${$[0]},-${$[1]})`,children:M?v.jsx(N_,{radius:k/2,className:g}):v.jsx(E_,{dimensions:b,lineWidth:a,variant:r,className:g})}),v.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}Bg.displayName="Background";const M_=Y.memo(Bg);function P_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:v.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function I_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:v.jsx("path",{d:"M0 0h32v4.2H0z"})})}function T_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:v.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function z_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function R_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ys({children:t,className:r,...o}){return v.jsx("button",{type:"button",className:Qe(["react-flow__controls-button",r]),...o,children:t})}const L_=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function Ug({style:t,showZoom:r=!0,showFitView:o=!0,showInteractive:l=!0,fitViewOptions:a,onZoomIn:c,onZoomOut:d,onFitView:h,onInteractiveChange:p,className:y,children:g,position:x="bottom-left",orientation:m="vertical","aria-label":S}){const _=be(),{isInteractive:M,minZoomReached:E,maxZoomReached:N,ariaLabelConfig:T}=ze(L_,Ue),{zoomIn:k,zoomOut:P,fitView:b}=fc(),$=()=>{k(),c==null||c()},H=()=>{P(),d==null||d()},X=()=>{b(a),h==null||h()},Q=()=>{_.setState({nodesDraggable:!M,nodesConnectable:!M,elementsSelectable:!M}),p==null||p(!M)},te=m==="horizontal"?"horizontal":"vertical";return v.jsxs(wl,{className:Qe(["react-flow__controls",te,y]),position:x,style:t,"data-testid":"rf__controls","aria-label":S??T["controls.ariaLabel"],children:[r&&v.jsxs(v.Fragment,{children:[v.jsx(Ys,{onClick:$,className:"react-flow__controls-zoomin",title:T["controls.zoomIn.ariaLabel"],"aria-label":T["controls.zoomIn.ariaLabel"],disabled:N,children:v.jsx(P_,{})}),v.jsx(Ys,{onClick:H,className:"react-flow__controls-zoomout",title:T["controls.zoomOut.ariaLabel"],"aria-label":T["controls.zoomOut.ariaLabel"],disabled:E,children:v.jsx(I_,{})})]}),o&&v.jsx(Ys,{className:"react-flow__controls-fitview",onClick:X,title:T["controls.fitView.ariaLabel"],"aria-label":T["controls.fitView.ariaLabel"],children:v.jsx(T_,{})}),l&&v.jsx(Ys,{className:"react-flow__controls-interactive",onClick:Q,title:T["controls.interactive.ariaLabel"],"aria-label":T["controls.interactive.ariaLabel"],children:M?v.jsx(R_,{}):v.jsx(z_,{})}),g]})}Ug.displayName="Controls";const A_=Y.memo(Ug);function $_({id:t,x:r,y:o,width:l,height:a,style:c,color:d,strokeColor:h,strokeWidth:p,className:y,borderRadius:g,shapeRendering:x,selected:m,onClick:S}){const{background:_,backgroundColor:M}=c||{},E=d||_||M;return v.jsx("rect",{className:Qe(["react-flow__minimap-node",{selected:m},y]),x:r,y:o,rx:g,ry:g,width:l,height:a,style:{fill:E,stroke:h,strokeWidth:p},shapeRendering:x,onClick:S?N=>S(N,t):void 0})}const D_=Y.memo($_),O_=t=>t.nodes.map(r=>r.id),zu=t=>t instanceof Function?t:()=>t;function b_({nodeStrokeColor:t,nodeColor:r,nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:a,nodeComponent:c=D_,onClick:d}){const h=ze(O_,Ue),p=zu(r),y=zu(t),g=zu(o),x=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return v.jsx(v.Fragment,{children:h.map(m=>v.jsx(H_,{id:m,nodeColorFunc:p,nodeStrokeColorFunc:y,nodeClassNameFunc:g,nodeBorderRadius:l,nodeStrokeWidth:a,NodeComponent:c,onClick:d,shapeRendering:x},m))})}function F_({id:t,nodeColorFunc:r,nodeStrokeColorFunc:o,nodeClassNameFunc:l,nodeBorderRadius:a,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:h,onClick:p}){const{node:y,x:g,y:x,width:m,height:S}=ze(_=>{const M=_.nodeLookup.get(t);if(!M)return{node:void 0,x:0,y:0,width:0,height:0};const E=M.internals.userNode,{x:N,y:T}=M.internals.positionAbsolute,{width:k,height:P}=qt(E);return{node:E,x:N,y:T,width:k,height:P}},Ue);return!y||y.hidden||!Up(y)?null:v.jsx(h,{x:g,y:x,width:m,height:S,style:y.style,selected:!!y.selected,className:l(y),color:r(y),borderRadius:a,strokeColor:o(y),strokeWidth:c,shapeRendering:d,onClick:p,id:y.id})}const H_=Y.memo(F_);var V_=Y.memo(b_);const B_=200,U_=150,W_=t=>!t.hidden,Y_=t=>{const r={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:r,boundingRect:t.nodeLookup.size>0?Hp(yo(t.nodeLookup,{filter:W_}),r):r,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},ep=(t,r)=>t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height,X_=(t,r)=>ep(t.viewBB,r.viewBB)&&ep(t.boundingRect,r.boundingRect)&&t.rfId===r.rfId&&t.panZoom===r.panZoom&&t.translateExtent===r.translateExtent&&t.flowWidth===r.flowWidth&&t.flowHeight===r.flowHeight&&t.ariaLabelConfig===r.ariaLabelConfig,Q_="react-flow__minimap-desc";function Wg({style:t,className:r,nodeStrokeColor:o,nodeColor:l,nodeClassName:a="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:h,bgColor:p,maskColor:y,maskStrokeColor:g,maskStrokeWidth:x,position:m="bottom-right",onClick:S,onNodeClick:_,pannable:M=!1,zoomable:E=!1,ariaLabel:N,inversePan:T,zoomStep:k=1,offsetScale:P=5}){const b=be(),$=Y.useRef(null),{boundingRect:H,viewBB:X,rfId:Q,panZoom:te,translateExtent:Z,flowWidth:ee,flowHeight:J,ariaLabelConfig:C}=ze(Y_,X_),B=(t==null?void 0:t.width)??B_,F=(t==null?void 0:t.height)??U_,V=H.width/B,A=H.height/F,L=Math.max(V,A),O=L*B,j=L*F,z=P*L,ne=H.x-(O-H.width)/2-z,re=H.y-(j-H.height)/2-z,ue=O+z*2,ce=j+z*2,de=`${Q_}-${Q}`,G=Y.useRef(0),se=Y.useRef();G.current=L,Y.useEffect(()=>{if($.current&&te)return se.current=s1({domNode:$.current,panZoom:te,getTransform:()=>b.getState().transform,getViewScale:()=>G.current}),()=>{var me;(me=se.current)==null||me.destroy()}},[te]),Y.useEffect(()=>{var me;(me=se.current)==null||me.update({translateExtent:Z,width:ee,height:J,inversePan:T,pannable:M,zoomStep:k,zoomable:E})},[M,E,T,k,Z,ee,J]);const pe=S?me=>{var Pe;const[Ce,je]=((Pe=se.current)==null?void 0:Pe.pointer(me))||[0,0];S(me,{x:Ce,y:je})}:void 0,we=_?Y.useCallback((me,Ce)=>{const je=b.getState().nodeLookup.get(Ce).internals.userNode;_(me,je)},[]):void 0,ve=N??C["minimap.ariaLabel"];return v.jsx(wl,{position:m,style:{...t,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof x=="number"?x*L:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:Qe(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:v.jsxs("svg",{width:B,height:F,viewBox:`${ne} ${re} ${ue} ${ce}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":de,ref:$,onClick:pe,children:[ve&&v.jsx("title",{id:de,children:ve}),v.jsx(V_,{onClick:we,nodeColor:l,nodeStrokeColor:o,nodeBorderRadius:c,nodeClassName:a,nodeStrokeWidth:d,nodeComponent:h}),v.jsx("path",{className:"react-flow__minimap-mask",d:`M${ne-z},${re-z}h${ue+z*2}v${ce+z*2}h${-ue-z*2}z + M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wg.displayName="MiniMap";const G_=Y.memo(Wg),K_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,q_={[oi.Line]:"right",[oi.Handle]:"bottom-right"};function Z_({nodeId:t,position:r,variant:o=oi.Handle,className:l,style:a=void 0,children:c,color:d,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:x=!1,resizeDirection:m,autoScale:S=!0,shouldResize:_,onResizeStart:M,onResize:E,onResizeEnd:N}){const T=Sg(),k=typeof t=="string"?t:T,P=be(),b=Y.useRef(null),$=o===oi.Handle,H=ze(Y.useCallback(K_($&&S),[$,S]),Ue),X=Y.useRef(null),Q=r??q_[o];Y.useEffect(()=>{if(!(!b.current||!k))return X.current||(X.current=x1({domNode:b.current,nodeId:k,getStoreItems:()=>{const{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,domNode:F}=P.getState();return{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,paneDomNode:F}},onChange:(Z,ee)=>{const{triggerNodeChanges:J,nodeLookup:C,parentLookup:B,nodeOrigin:F}=P.getState(),V=[],A={x:Z.x,y:Z.y},L=C.get(k);if(L&&L.expandParent&&L.parentId){const O=L.origin??F,j=Z.width??L.measured.width??0,z=Z.height??L.measured.height??0,ne={id:L.id,parentId:L.parentId,rect:{width:j,height:z,...Wp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:j,height:z},L.parentId,C,O)}},re=dc([ne],C,B,F);V.push(...re),A.x=Z.x?Math.max(O[0]*j,Z.x):void 0,A.y=Z.y?Math.max(O[1]*z,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:k,type:"position",position:{...A}};V.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const j={id:k,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};V.push(j)}for(const O of ee){const j={...O,type:"position"};V.push(j)}J(V)},onEnd:({width:Z,height:ee})=>{const J={id:k,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ee}};P.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:g},keepAspectRatio:x,resizeDirection:m,onResizeStart:M,onResize:E,onResizeEnd:N,shouldResize:_}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[Q,h,p,y,g,x,M,E,N,_]);const te=Q.split("-");return v.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...te,o,l]),ref:b,style:{...a,scale:H,...d&&{[$?"backgroundColor":"borderColor"]:d}},children:c})}Y.memo(Z_);const J_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function ek(t){return J_[t]??8}function tk(t){const r=new Map;for(const l of t){const a=ek(l.type),c=r.get(a)??[];c.push(l),r.set(a,c)}const o=new Map;for(const[l,a]of r)a.sort((c,d)=>c.name.localeCompare(d.name)),a.forEach((c,d)=>{o.set(c.id,{x:l*260,y:d*108})});return o}const nk={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function rk({data:t,selected:r}){return v.jsxs("div",{className:r?"lp-node selected":"lp-node",children:[v.jsx("div",{className:"t",children:Qu(t.type)}),v.jsx("div",{className:"n",children:t.name})]})}const ik={load:rk};function Ru({nodes:t,edges:r}){const[o,l]=Y.useState(null),a=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=tk(t),d=t.map(g=>({id:g.id,type:"load",position:c.get(g.id)??{x:0,y:0},data:{name:g.name,type:g.type,file:g.file_path},selected:(o==null?void 0:o.id)===g.id})),h=r.filter(g=>t.some(x=>x.id===g.src)&&t.some(x=>x.id===g.dst)).map(g=>({id:g.id,source:g.src,target:g.dst,animated:!a&&g.weight==="critical",style:{stroke:nk[g.weight]||"var(--edge-cheap)",strokeWidth:g.weight==="critical"?2.4:1.2,strokeDasharray:g.confidence<.8?"6 4":void 0},label:g.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:10}})),p=Y.useMemo(()=>new Map(t.map(g=>[g.id,g])),[t]),y=(g,x)=>{l(p.get(x.id)??null)};return v.jsxs("div",{style:{flex:1,minHeight:0,position:"relative"},children:[v.jsx(Vg,{children:v.jsxs(k_,{nodes:d,edges:h,nodeTypes:ik,fitView:!0,minZoom:.15,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,deleteKeyCode:null,onNodeClick:y,onPaneClick:()=>l(null),proOptions:{hideAttribution:!1},"data-testid":"impact-graph",children:[v.jsx(M_,{}),v.jsx(G_,{pannable:!0,zoomable:!0}),v.jsx(A_,{})]})}),o?v.jsxs("aside",{className:"inspector","data-testid":"graph-inspector",children:[v.jsx("div",{className:"t",children:Qu(o.type)}),v.jsx("div",{className:"n",children:o.name}),o.context?v.jsx("div",{className:"muted",children:o.context}):null,o.file_path?v.jsxs("div",{className:"file",children:[o.file_path,o.start_line?`:${o.start_line}`:""]}):null,v.jsx("div",{className:"muted",children:o.qualified_name})]}):null]})}const cl=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],ok="obsidian",Yg="loadpath.theme";function sk(t){return cl.some(r=>r.id===t)}function Xg(){try{const t=localStorage.getItem(Yg)||"";if(sk(t))return t}catch{}return ok}function lk(t){var r;return((r=cl.find(o=>o.id===t))==null?void 0:r.group)==="light"?"light":"dark"}function Qg(t){document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=lk(t);try{localStorage.setItem(Yg,t)}catch{}}const tp=[{id:"review",label:"Review",testId:"tab-review",shortcut:"1",icon:b0},{id:"architecture",label:"Architecture",testId:"tab-architecture",shortcut:"2",icon:F0},{id:"graph",label:"Impact graph",testId:"tab-graph",shortcut:"3",icon:H0},{id:"prs",label:"Pull requests",testId:"tab-prs",shortcut:"4",icon:V0},{id:"settings",label:"Settings",testId:"tab-settings",shortcut:"5",icon:B0}];function ak(){var Ge,Ke,zt,St,_t;const[t,r]=Y.useState("review"),[o,l]=Y.useState(localStorage.getItem("loadpath.repo")||""),[a,c]=Y.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[d,h]=Y.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=Y.useState(null),[g,x]=Y.useState(null),[m,S]=Y.useState([]),[_,M]=Y.useState("review"),[E,N]=Y.useState(""),[T,k]=Y.useState(""),[P,b]=Y.useState(""),[$,H]=Y.useState({}),[X,Q]=Y.useState([]),[te,Z]=Y.useState(localStorage.getItem("loadpath.scmRepo")||""),[ee,J]=Y.useState(localStorage.getItem("loadpath.provider")||"github"),[C,B]=Y.useState(localStorage.getItem("loadpath.prNumber")||""),[F,V]=Y.useState(""),[A,L]=Y.useState(Xg),O=Y.useRef(o);O.current=o;const j=q=>{L(q),Qg(q)};Y.useEffect(()=>{xt.settings().then(H).catch(()=>{}),xt.repos().then(q=>S(q.repos)).catch(()=>{})},[]),Y.useEffect(()=>{if(t!=="architecture"||!o)return;const q=o;let Se=!1;return xt.architecture(q).then(Ie=>{!Se&&O.current===q&&x(Ie)}).catch(()=>{}),()=>{Se=!0}},[t,o]);const z=q=>{l(q),localStorage.setItem("loadpath.repo",q)},ne=(q,Se)=>{c(q),h(Se),localStorage.setItem("loadpath.base",q),localStorage.setItem("loadpath.head",Se)},re=(q,Se,Ie)=>{J(q),Z(Se),localStorage.setItem("loadpath.provider",q),localStorage.setItem("loadpath.scmRepo",Se),Ie!==void 0&&(B(Ie),localStorage.setItem("loadpath.prNumber",Ie))},ue=async(q=o)=>{if(!q)return null;const Se=await xt.architecture(q);return O.current===q&&x(Se),Se},ce=async()=>{N(""),b(""),k("Tracing load path…"),z(o),ne(a,d);try{const q=await xt.review(o,a,d,!0);y(q),M("review"),r("review"),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{}),await ue(o)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},de=async(q=!0)=>{N(""),b(""),k(q?"Indexing…":"Full reindex…"),z(o);try{await xt.index(o,q);const Se=await ue(o);await xt.repos().then(Ie=>S(Ie.repos)).catch(()=>{}),Se!=null&&Se.indexed&&(M("architecture"),r("architecture"))}catch(Se){N(Se instanceof Error?Se.message:String(Se))}finally{k("")}},G=async()=>{N(""),b(""),k("Detecting layout…"),z(o);try{const q=await xt.init(o);b(q.message),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{})}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),b("Copied markdown brief")}catch(q){N(q instanceof Error?q.message:String(q))}},pe=async()=>{if(!(p!=null&&p.markdown)||!te||!C){N("Pick a pull request first (Pull requests tab), then post the brief.");return}k("Posting Loadpath brief…");try{const q=await xt.postComment(ee,te,Number(C),p.markdown);b(q.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},we=async()=>{N(""),k("Fetching pull requests…");try{const q=await xt.prs(ee,te);Q(q.pull_requests)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},ve=async q=>{q.preventDefault();const Se=new FormData(q.currentTarget),Ie={github_token:String(Se.get("github_token")||""),bitbucket_token:String(Se.get("bitbucket_token")||""),bitbucket_username:String(Se.get("bitbucket_username")||""),ai_provider:String(Se.get("ai_provider")||"none"),ai_api_key:String(Se.get("ai_api_key")||""),ai_model:String(Se.get("ai_model")||""),ai_base_url:String(Se.get("ai_base_url")||""),workspaces:m.length?m.map(Je=>({path:Je.path,name:Je.name})):o?[{path:o,name:O0(o)}]:[]};H(await xt.saveSettings(Ie)),b("Settings saved on this machine")},me=async()=>{if(p){k("Residual analysis…");try{const q=await xt.residual(p);V(q.note)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}}},Ce=Y.useRef(ce);Ce.current=ce;const je=Y.useRef(t);je.current=t,Y.useEffect(()=>{const q=Se=>{const Ie=Se.target;if(Ie&&(Ie.tagName==="INPUT"||Ie.tagName==="TEXTAREA"||Ie.tagName==="SELECT"||Ie.isContentEditable)){Se.key==="Escape"&&Ie.blur();return}if(Se.key==="Escape"){N(""),b("");return}const Je=tp.find(wn=>wn.shortcut===Se.key);if(Je&&r(Je.id),(Se.metaKey||Se.ctrlKey)&&Se.key==="Enter"){if(je.current==="settings"||je.current==="prs")return;Se.preventDefault(),Ce.current()}};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[]);const Pe=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.nodes)??[]:(p==null?void 0:p.nodes)??[],[_,g,p]),Le=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.edges)??[]:(p==null?void 0:p.edges)??[],[_,g,p]),rt=p!=null&&p.index?`${p.index.counts.nodes} nodes · ${p.index.counts.edges} edges`:g!=null&&g.indexed?`${g.counts.nodes} nodes · ${g.counts.edges} edges`:"Not indexed",st=((p==null?void 0:p.findings)||[]).filter(q=>!q.waived);return v.jsxs("div",{className:"app",children:[v.jsx("a",{className:"skip",href:"#main",children:"Skip to content"}),v.jsxs("nav",{className:"rail","data-testid":"rail","aria-label":"Primary",children:[v.jsxs("div",{className:"brand",children:[v.jsx("div",{className:"brand-mark",children:"Loadpath"}),v.jsx("div",{className:"brand-sub",children:"Load-path review"})]}),tp.map(q=>{const Se=q.icon,Ie=t===q.id;return v.jsxs("button",{type:"button","data-testid":q.testId,className:Ie?"nav-item active":"nav-item","aria-current":Ie?"page":void 0,onClick:()=>r(q.id),children:[v.jsx(Se,{}),v.jsx("span",{children:q.label})]},q.id)}),v.jsxs("div",{className:"theme-pick",children:[v.jsx("label",{htmlFor:"theme-select",children:"Theme"}),v.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:q=>j(q.target.value),children:cl.map(q=>v.jsx("option",{value:q.id,children:q.label},q.id))})]}),v.jsxs("div",{className:"rail-foot",children:[v.jsx("div",{className:"muted",role:"status",children:T||rt}),v.jsxs("div",{className:"kbd-hint",children:[v.jsx("kbd",{children:"1"}),"–",v.jsx("kbd",{children:"5"})," tabs · ",v.jsx("kbd",{children:"⌘"}),v.jsx("kbd",{children:"Enter"})," review"]})]})]}),v.jsxs("div",{className:"main",id:"main",children:[T?v.jsxs("div",{className:"progress",role:"status","aria-live":"polite","aria-busy":"true",children:[v.jsx("i",{}),v.jsx("span",{className:"sr-only",children:T})]}):null,v.jsxs("header",{className:"topbar","data-testid":"topbar",children:[m.length>0?v.jsxs("label",{className:"field workspace",children:[v.jsx("span",{children:"Workspace"}),v.jsxs("select",{"data-testid":"workspace-select",value:m.some(q=>q.path===o)?o:"",onChange:q=>{q.target.value&&z(q.target.value)},children:[v.jsx("option",{value:"",children:"Indexed repos…"}),m.map(q=>v.jsxs("option",{value:q.path,children:[q.name,q.indexed?` (${q.counts.nodes})`:""]},q.path))]})]}):null,v.jsxs("label",{className:"field path",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"repo-path",placeholder:"Local monorepo path",value:o,onChange:q=>l(q.target.value),spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Base"}),v.jsx("input",{"data-testid":"base-ref",value:a,onChange:q=>ne(q.target.value,d),placeholder:"base",spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Head"}),v.jsx("input",{"data-testid":"head-ref",value:d,onChange:q=>ne(a,q.target.value),placeholder:"head",spellCheck:!1})]}),v.jsxs("div",{className:"topbar-actions",children:[v.jsx("button",{type:"button","data-testid":"btn-init",disabled:!!T,onClick:G,children:"Draft config"}),v.jsx("button",{type:"button","data-testid":"btn-index",disabled:!!T,onClick:()=>de(!0),children:"Index"}),v.jsx("button",{type:"button","data-testid":"btn-review",className:"btn primary",disabled:!!T,onClick:ce,children:"Review"})]})]}),v.jsxs("div",{className:"alerts",children:[E?v.jsxs("div",{className:"error",children:[v.jsx("span",{children:E}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>N(""),"aria-label":"Dismiss error",children:"×"})]}):null,P?v.jsxs("div",{className:"banner","data-testid":"status-note",children:[v.jsx("span",{children:P}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>b(""),"aria-label":"Dismiss",children:"×"})]}):null,((Ge=p==null?void 0:p.index)!=null&&Ge.stale||g!=null&&g.stale)&&(t==="review"||t==="architecture")?v.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((Ke=p==null?void 0:p.index)==null?void 0:Ke.django_boot)==="failed"||(g==null?void 0:g.django_boot)==="failed"?v.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((zt=p==null?void 0:p.index)==null?void 0:zt.django_boot_detail)||(g==null?void 0:g.django_boot_detail)||"django.setup() failed"}):null,(St=p==null?void 0:p.workspace)!=null&&St.dirty_overlaps_review&&t==="review"?v.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null]}),v.jsxs("div",{className:"stage",children:[t==="review"&&v.jsxs("div",{className:"content","data-testid":"review-layout",children:[v.jsx("aside",{className:"brief","data-testid":"brief",children:p?v.jsx(uk,{review:p,findings:st,aiNote:F,busy:!!T,onAskAi:me,onCopy:se,onPost:pe}):v.jsxs("div",{className:"empty","data-testid":"review-empty",children:[v.jsx("h2",{children:"Trace the force of this diff"}),v.jsx("p",{children:"The graph is the architecture. The brief is where this change travels — not a hunk list."}),v.jsxs("ol",{children:[v.jsx("li",{children:"Point at a Django + React monorepo, or pick an indexed workspace."}),v.jsxs("li",{children:["Index it. Missing ",v.jsx("code",{children:"loadpath.yml"})," is drafted from ",v.jsx("code",{children:"manage.py"})," and"," ",v.jsx("code",{children:"src/features"}),"."]}),v.jsx("li",{children:"Review a git range, or open a pull request so base/head become a three-dot merge-base."})]})]})}),v.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?v.jsx(Ru,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&v.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[v.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:g!=null&&g.indexed?v.jsx(ck,{architecture:g,busy:!!T,onReindex:()=>de(!1),onReview:ce}):v.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),v.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:g!=null&&g.indexed?v.jsx(Ru,{nodes:g.nodes,edges:g.edges}):null})]}),t==="graph"&&v.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%"},children:[v.jsxs("div",{className:"graph-modes",children:[v.jsxs("div",{className:"seg",role:"tablist","aria-label":"Graph scope",children:[v.jsx("button",{type:"button",role:"tab","aria-selected":_==="review","data-testid":"graph-mode-review",className:_==="review"?"active":"",onClick:()=>M("review"),children:"This review"}),v.jsx("button",{type:"button",role:"tab","aria-selected":_==="architecture","data-testid":"graph-mode-architecture",className:_==="architecture"?"active":"",onClick:()=>M("architecture"),children:"Indexed architecture"})]}),v.jsxs("div",{className:"legend","aria-hidden":"true",children:[v.jsxs("span",{children:[v.jsx("i",{})," cheap"]}),v.jsxs("span",{children:[v.jsx("i",{className:"exp"})," expensive"]}),v.jsxs("span",{children:[v.jsx("i",{className:"crit"})," critical"]}),v.jsxs("span",{children:[v.jsx("i",{className:"dash"})," inferred"]})]})]}),Pe.length?v.jsx(Ru,{nodes:Pe,edges:Le}):v.jsx("p",{className:"empty",children:"Index the repo or run a review first. Click a node to inspect it."})]}),t==="prs"&&v.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[v.jsxs("div",{className:"pr-toolbar",children:[v.jsxs("label",{className:"field provider",children:[v.jsx("span",{children:"Provider"}),v.jsxs("select",{"data-testid":"pr-provider",value:ee,onChange:q=>re(q.target.value,te,C),children:[v.jsx("option",{value:"github",children:"GitHub"}),v.jsx("option",{value:"bitbucket",children:"Bitbucket"})]})]}),v.jsxs("label",{className:"field",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"pr-repo",placeholder:"owner/repo",value:te,onChange:q=>re(ee,q.target.value,C),spellCheck:!1})]}),v.jsx("button",{type:"button","data-testid":"btn-list-prs",className:"btn",disabled:!!T,onClick:we,children:"List PRs"})]}),X.length===0?v.jsxs("div",{className:"empty",children:[v.jsx("h2",{children:"No pull requests loaded"}),v.jsx("p",{children:"Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs."})]}):X.map(q=>v.jsxs("article",{className:"pr","data-testid":`pr-${q.number}`,children:[v.jsxs("h3",{children:["#",q.number," ",q.title]}),v.jsxs("div",{className:"pr-meta muted",children:[v.jsx("span",{className:`chip ${q.draft?"":"open"}`,children:q.draft?"draft":q.state}),v.jsx("span",{children:q.author}),v.jsxs("span",{children:[q.source_branch," → ",q.target_branch]})]}),v.jsxs("div",{className:"pr-actions",children:[v.jsxs("a",{href:q.url,target:"_blank",rel:"noreferrer",children:["Open on ",q.provider]}),v.jsx("button",{type:"button",className:"btn primary",onClick:()=>{ne(q.base_sha||q.target_branch,q.head_sha||q.source_branch),re(q.provider,q.repo,String(q.number)),r("review")},children:"Review this range"})]})]},`${q.provider}-${q.number}`))]}),t==="settings"&&v.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:ve,children:[v.jsxs("div",{children:[v.jsx("h1",{children:"Settings"}),v.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the graph could not close."})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Appearance"}),v.jsx("p",{className:"muted",children:"Local to this browser. High contrast is a first-class theme, not an afterthought."}),v.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:cl.map(q=>v.jsxs("button",{type:"button",className:A===q.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${q.id}`,onClick:()=>j(q.id),children:[v.jsx("div",{className:"name",children:q.label}),v.jsx("div",{className:"group",children:q.group})]},q.id))})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Source control"}),v.jsx("label",{htmlFor:"github_token",children:"GitHub token"}),v.jsx("input",{id:"github_token",name:"github_token",type:"password",placeholder:"ghp_…",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_token",children:"Bitbucket token"}),v.jsx("input",{id:"bitbucket_token",name:"bitbucket_token",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_username",children:"Bitbucket username (app passwords)"}),v.jsx("input",{id:"bitbucket_username",name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Residual AI"}),v.jsx("label",{htmlFor:"ai_provider",children:"Provider"}),v.jsxs("select",{id:"ai_provider",name:"ai_provider",defaultValue:String(((_t=$.ai)==null?void 0:_t.provider)||"none"),children:[v.jsx("option",{value:"none",children:"none (graph only)"}),v.jsx("option",{value:"anthropic",children:"Anthropic"}),v.jsx("option",{value:"openai",children:"OpenAI"}),v.jsx("option",{value:"grok",children:"Grok / xAI"}),v.jsx("option",{value:"deepseek",children:"DeepSeek"}),v.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),v.jsx("option",{value:"ollama",children:"Ollama local"})]}),v.jsx("label",{htmlFor:"ai_api_key",children:"API key"}),v.jsx("input",{id:"ai_api_key",name:"ai_api_key",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"ai_model",children:"Model"}),v.jsx("input",{id:"ai_model",name:"ai_model",placeholder:"optional override"}),v.jsx("label",{htmlFor:"ai_base_url",children:"Base URL"}),v.jsx("input",{id:"ai_base_url",name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),v.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})]})]})}function uk({review:t,findings:r,aiNote:o,busy:l,onAskAi:a,onCopy:c,onPost:d}){var h,p,y,g,x,m,S,_,M;return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:`merge-box ${t.confidence.level}`,children:[v.jsxs("div",{className:`level ${t.confidence.level}`,children:[t.confidence.level.toUpperCase()," — ",t.title]}),v.jsx("div",{className:"merge-title",children:t.headline.split(` +`)[0]}),(h=t.confidence.reasons)!=null&&h.length?v.jsx("ul",{className:"reasons",children:t.confidence.reasons.map(E=>v.jsx("li",{children:E},E))}):null,t.low_risk?v.jsx("span",{className:"chip",children:"low-risk"}):null,t.change_kinds.map(E=>v.jsx("span",{className:"chip",children:$0(E)},E))]}),v.jsxs("div",{className:"metrics",children:[v.jsxs("div",{className:"metric",children:[v.jsxs("div",{className:"n",children:[t.confidence.covered_sinks,"/",t.confidence.sinks]}),v.jsx("div",{className:"l",children:"Sinks tested"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:r.length}),v.jsx("div",{className:"l",children:"Findings"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:t.residuals.length}),v.jsx("div",{className:"l",children:"Residuals"})]})]}),v.jsx("pre",{className:"headline",children:t.headline}),t.index?v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Index ",v.jsx("span",{className:"count",children:t.index.counts.nodes})]}),v.jsxs("div",{className:"muted",children:["Walked ",t.index.counts.nodes," nodes / ",t.index.counts.edges," edges",t.index.reindex_skipped?" from an unchanged index":t.index.reindexed?" after an incremental refresh":" from the existing index",t.index.django_boot&&t.index.django_boot!=="off"?` · Django boot ${t.index.django_boot}`:"",(p=t.workspace)!=null&&p.three_dot?" · three-dot range":""]})]}):null,v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Read this ",v.jsx("span",{className:"count",children:t.read_order.length})]}),t.read_order.map((E,N)=>v.jsxs("div",{className:"read-item",children:[v.jsxs("span",{className:"file",children:[N+1,". ",E.path]}),v.jsx("div",{className:"why",children:E.why})]},E.path))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Clusters ",v.jsx("span",{className:"count",children:t.clusters.length})]}),t.clusters.map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:E.title})," — ",E.files.join(", ")]},E.id))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Architecture ",v.jsx("span",{className:"count",children:r.length})]}),r.length===0?v.jsx("div",{className:"muted",children:t.architecture_note}):r.map(E=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${E.severity}`,children:E.severity}),E.message]},E.rule+E.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Residual ",v.jsx("span",{className:"count",children:t.residuals.length})]}),v.jsx("p",{className:"muted",children:"AI is only used here, on what the graph could not close."}),t.residuals.map(E=>v.jsx("div",{className:"residual muted",children:E},E))]}),(g=(y=t.evolution)==null?void 0:y.notes)!=null&&g.length||(m=(x=t.evolution)==null?void 0:x.hotspots)!=null&&m.some(E=>E.commits)?v.jsxs("details",{className:"section",children:[v.jsx("summary",{children:"Churn & coupling"}),(((S=t.evolution)==null?void 0:S.notes)||[]).map(E=>v.jsx("div",{className:"muted",children:E},E)),(((_=t.evolution)==null?void 0:_.hotspots)||[]).filter(E=>E.commits).slice(0,6).map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("span",{className:"file",children:E.path})," — ",E.commits," commits, bus factor ",E.bus_factor]},E.path))]}):null,v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:l,onClick:a,children:"Ask configured model"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-copy-markdown",onClick:c,children:"Copy markdown"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-post-comment",onClick:d,children:"Post to PR"})]}),o?v.jsx("pre",{className:"headline",children:o}):null,v.jsx("div",{className:"kicker",children:"Reviewers"}),v.jsx("div",{className:"muted",children:t.suggested_reviewers.join(", ")||"—"}),(M=t.knowledge_owners)!=null&&M.length?v.jsxs("div",{className:"muted",children:["Knowledge: ",t.knowledge_owners.join(", ")]}):null]})}function ck({architecture:t,busy:r,onReindex:o,onReview:l}){const a=t.findings.filter(c=>!c.waived);return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"merge-box high",children:[v.jsxs("div",{className:"level high",children:["INDEXED — ",t.counts.nodes," nodes"]}),v.jsxs("div",{className:"muted",style:{marginTop:8},children:[t.indexed_at?`Last index ${D0(t.indexed_at)}`:"Indexed",t.incremental?" · incremental":" · full",t.stale?" · stale":"",t.django_boot&&t.django_boot!=="off"?` · Django boot ${t.django_boot}`:""]}),v.jsxs("span",{className:"chip",children:[t.counts.edges," edges"]}),t.has_config?v.jsx("span",{className:"chip",children:"loadpath.yml"}):null]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Bounded contexts"}),Object.values(t.contexts).map(c=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:c.name})," — ",(c.django_apps||[]).join(", ")||"no apps"," ·"," ",(c.owners||[]).join(", ")||"unowned"]},c.name))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Rules ",v.jsx("span",{className:"count",children:(t.rules||[]).length})]}),(t.rules||[]).map(c=>v.jsx("div",{className:"muted",children:c},c))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Findings ",v.jsx("span",{className:"count",children:a.length})]}),a.length===0?v.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):a.map(c=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${c.severity}`,children:c.severity}),c.message]},c.rule+c.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Types"}),v.jsx("table",{className:"type-table",children:v.jsx("tbody",{children:Object.entries(t.type_counts||{}).sort((c,d)=>d[1]-c[1]).slice(0,12).map(([c,d])=>v.jsxs("tr",{children:[v.jsx("td",{children:Qu(c)}),v.jsx("td",{children:d})]},c))})})]}),v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:r,onClick:o,"data-testid":"btn-full-reindex",children:"Full reindex"}),v.jsx("button",{type:"button",className:"btn primary",disabled:r,onClick:l,children:"Review against this index"})]})]})}Qg(Xg());A0.createRoot(document.getElementById("root")).render(v.jsx(Y.StrictMode,{children:v.jsx(ak,{})})); diff --git a/src/loadpath/static/assets/index-Dmb_oKHM.js b/src/loadpath/static/assets/index-Dmb_oKHM.js deleted file mode 100644 index 945c3a1..0000000 --- a/src/loadpath/static/assets/index-Dmb_oKHM.js +++ /dev/null @@ -1,62 +0,0 @@ -(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const c of u)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&l(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const c={};return u.integrity&&(c.integrity=u.integrity),u.referrerPolicy&&(c.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?c.credentials="include":u.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(u){if(u.ep)return;u.ep=!0;const c=i(u);fetch(u.href,c)}})();function Jh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ha={exports:{}},Zo={},pa={exports:{}},Me={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ad;function E0(){if(Ad)return Me;Ad=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.iterator;function m(M){return M===null||typeof M!="object"?null:(M=v&&M[v]||M["@@iterator"],typeof M=="function"?M:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,P={};function C(M,j,ne){this.props=M,this.context=j,this.refs=P,this.updater=ne||w}C.prototype.isReactComponent={},C.prototype.setState=function(M,j){if(typeof M!="object"&&typeof M!="function"&&M!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,M,j,"setState")},C.prototype.forceUpdate=function(M){this.updater.enqueueForceUpdate(this,M,"forceUpdate")};function k(){}k.prototype=C.prototype;function z(M,j,ne){this.props=M,this.context=j,this.refs=P,this.updater=ne||w}var _=z.prototype=new k;_.constructor=z,S(_,C.prototype),_.isPureReactComponent=!0;var I=Array.isArray,H=Object.prototype.hasOwnProperty,$={current:null},B={key:!0,ref:!0,__self:!0,__source:!0};function X(M,j,ne){var re,ae={},fe=null,ce=null;if(j!=null)for(re in j.ref!==void 0&&(ce=j.ref),j.key!==void 0&&(fe=""+j.key),j)H.call(j,re)&&!B.hasOwnProperty(re)&&(ae[re]=j[re]);var K=arguments.length-2;if(K===1)ae.children=ne;else if(1>>1,j=A[M];if(0>>1;Mu(ae,O))feu(ce,ae)?(A[M]=ce,A[fe]=O,M=fe):(A[M]=ae,A[re]=O,M=re);else if(feu(ce,O))A[M]=ce,A[fe]=O,M=fe;else break e}}return L}function u(A,L){var O=A.sortIndex-L.sortIndex;return O!==0?O:A.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();t.unstable_now=function(){return f.now()-h}}var p=[],y=[],g=1,v=null,m=3,w=!1,S=!1,P=!1,C=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,z=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(A){for(var L=i(y);L!==null;){if(L.callback===null)l(y);else if(L.startTime<=A)l(y),L.sortIndex=L.expirationTime,r(p,L);else break;L=i(y)}}function I(A){if(P=!1,_(A),!S)if(i(p)!==null)S=!0,V(H);else{var L=i(y);L!==null&&b(I,L.startTime-A)}}function H(A,L){S=!1,P&&(P=!1,k(X),X=-1),w=!0;var O=m;try{for(_(L),v=i(p);v!==null&&(!(v.expirationTime>L)||A&&!Z());){var M=v.callback;if(typeof M=="function"){v.callback=null,m=v.priorityLevel;var j=M(v.expirationTime<=L);L=t.unstable_now(),typeof j=="function"?v.callback=j:v===i(p)&&l(p),_(L)}else l(p);v=i(p)}if(v!==null)var ne=!0;else{var re=i(y);re!==null&&b(I,re.startTime-L),ne=!1}return ne}finally{v=null,m=O,w=!1}}var $=!1,B=null,X=-1,G=5,te=-1;function Z(){return!(t.unstable_now()-teA||125M?(A.sortIndex=O,r(y,A),i(p)===null&&A===i(y)&&(P?(k(X),X=-1):P=!0,b(I,O-M))):(A.sortIndex=j,r(p,A),S||w||(S=!0,V(H))),A},t.unstable_shouldYield=Z,t.unstable_wrapCallback=function(A){var L=m;return function(){var O=m;m=L;try{return A.apply(this,arguments)}finally{m=O}}}})(ya)),ya}var Hd;function I0(){return Hd||(Hd=1,ma.exports=P0()),ma.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Vd;function T0(){if(Vd)return wt;Vd=1;var t=pi(),r=I0();function i(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},v={};function m(e){return p.call(v,e)?!0:p.call(g,e)?!1:y.test(e)?v[e]=!0:(g[e]=!0,!1)}function w(e,n,o,s){if(o!==null&&o.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return s?!1:o!==null?!o.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function S(e,n,o,s){if(n===null||typeof n>"u"||w(e,n,o,s))return!0;if(s)return!1;if(o!==null)switch(o.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function P(e,n,o,s,a,d,x){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=s,this.attributeNamespace=a,this.mustUseProperty=o,this.propertyName=e,this.type=n,this.sanitizeURL=d,this.removeEmptyString=x}var C={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){C[e]=new P(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];C[n]=new P(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){C[e]=new P(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){C[e]=new P(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){C[e]=new P(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){C[e]=new P(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){C[e]=new P(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){C[e]=new P(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){C[e]=new P(e,5,!1,e.toLowerCase(),null,!1,!1)});var k=/[\-:]([a-z])/g;function z(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(k,z);C[n]=new P(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(k,z);C[n]=new P(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(k,z);C[n]=new P(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){C[e]=new P(e,1,!1,e.toLowerCase(),null,!1,!1)}),C.xlinkHref=new P("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){C[e]=new P(e,1,!1,e.toLowerCase(),null,!0,!0)});function _(e,n,o,s){var a=C.hasOwnProperty(n)?C[n]:null;(a!==null?a.type!==0:s||!(2T||a[x]!==d[T]){var R=` -`+a[x].replace(" at new "," at ");return e.displayName&&R.includes("")&&(R=R.replace("",e.displayName)),R}while(1<=x&&0<=T);break}}}finally{ne=!1,Error.prepareStackTrace=o}return(e=e?e.displayName||e.name:"")?j(e):""}function ae(e){switch(e.tag){case 5:return j(e.type);case 16:return j("Lazy");case 13:return j("Suspense");case 19:return j("SuspenseList");case 0:case 2:case 15:return e=re(e.type,!1),e;case 11:return e=re(e.type.render,!1),e;case 1:return e=re(e.type,!0),e;default:return""}}function fe(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case $:return"Portal";case G:return"Profiler";case X:return"StrictMode";case J:return"Suspense";case N:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Z:return(e.displayName||"Context")+".Consumer";case te:return(e._context.displayName||"Context")+".Provider";case ee:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case U:return n=e.displayName||null,n!==null?n:fe(e.type)||"Memo";case V:n=e._payload,e=e._init;try{return fe(e(n))}catch{}}return null}function ce(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fe(n);case 8:return n===X?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function K(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function se(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function pe(e){var n=se(e)?"checked":"value",o=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),s=""+e[n];if(!e.hasOwnProperty(n)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var a=o.get,d=o.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return a.call(this)},set:function(x){s=""+x,d.call(this,x)}}),Object.defineProperty(e,n,{enumerable:o.enumerable}),{getValue:function(){return s},setValue:function(x){s=""+x},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function we(e){e._valueTracker||(e._valueTracker=pe(e))}function ve(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var o=n.getValue(),s="";return e&&(s=se(e)?e.checked?"true":"false":e.value),e=s,e!==o?(n.setValue(e),!0):!1}function me(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ne(e,n){var o=n.checked;return O({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??e._wrapperState.initialChecked})}function Pe(e,n){var o=n.defaultValue==null?"":n.defaultValue,s=n.checked!=null?n.checked:n.defaultChecked;o=K(n.value!=null?n.value:o),e._wrapperState={initialChecked:s,initialValue:o,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Ie(e,n){n=n.checked,n!=null&&_(e,"checked",n,!1)}function Re(e,n){Ie(e,n);var o=K(n.value),s=n.type;if(o!=null)s==="number"?(o===0&&e.value===""||e.value!=o)&&(e.value=""+o):e.value!==""+o&&(e.value=""+o);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?nt(e,n.type,o):n.hasOwnProperty("defaultValue")&&nt(e,n.type,K(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ze(e,n,o){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var s=n.type;if(!(s!=="submit"&&s!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,o||n===e.value||(e.value=n),e.defaultValue=n}o=e.name,o!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,o!==""&&(e.name=o)}function nt(e,n,o){(n!=="number"||me(e.ownerDocument)!==e)&&(o==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+o&&(e.defaultValue=""+o))}var Qe=Array.isArray;function Ge(e,n,o,s){if(e=e.options,n){n={};for(var a=0;a"+n.valueOf().toString()+"",n=dt.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function F(e,n){if(n){var o=e.firstChild;if(o&&o===e.lastChild&&o.nodeType===3){o.nodeValue=n;return}}e.textContent=n}var Ce={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Nt=["Webkit","ms","Moz","O"];Object.keys(Ce).forEach(function(e){Nt.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Ce[n]=Ce[e]})});function Gn(e,n,o){return n==null||typeof n=="boolean"||n===""?"":o||typeof n!="number"||n===0||Ce.hasOwnProperty(e)&&Ce[e]?(""+n).trim():n+"px"}function Si(e,n){e=e.style;for(var o in n)if(n.hasOwnProperty(o)){var s=o.indexOf("--")===0,a=Gn(o,n[o],s);o==="float"&&(o="cssFloat"),s?e.setProperty(o,a):e[o]=a}}var _l=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function uo(e,n){if(n){if(_l[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(i(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(i(61))}if(n.style!=null&&typeof n.style!="object")throw Error(i(62))}}function ao(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var co=null;function fo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ho=null,kn=null,En=null;function _i(e){if(e=Do(e)){if(typeof ho!="function")throw Error(i(280));var n=e.stateNode;n&&(n=Zi(n),ho(e.stateNode,e.type,n))}}function ki(e){kn?En?En.push(e):En=[e]:kn=e}function Ei(){if(kn){var e=kn,n=En;if(En=kn=null,_i(e),n)for(e=0;e>>=0,e===0?32:31-(zl(e)/Rl|0)|0}var Mr=64,Pr=4194304;function Jn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function fn(e,n){var o=e.pendingLanes;if(o===0)return 0;var s=0,a=e.suspendedLanes,d=e.pingedLanes,x=o&268435455;if(x!==0){var T=x&~a;T!==0?s=Jn(T):(d&=x,d!==0&&(s=Jn(d)))}else x=o&~a,x!==0?s=Jn(x):d!==0&&(s=Jn(d));if(s===0)return 0;if(n!==0&&n!==s&&(n&a)===0&&(a=s&-s,d=n&-n,a>=d||a===16&&(d&4194240)!==0))return n;if((s&4)!==0&&(s|=o&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=s;0o;o++)n.push(e);return n}function tr(e,n,o){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Mt(n),e[n]=o}function $l(e,n){var o=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0=Po),Mc=" ",Pc=!1;function Ic(e,n){switch(e){case"keyup":return xm.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var zr=!1;function Sm(e,n){switch(e){case"compositionend":return Tc(n);case"keypress":return n.which!==32?null:(Pc=!0,Mc);case"textInput":return e=n.data,e===Mc&&Pc?null:e;default:return null}}function _m(e,n){if(zr)return e==="compositionend"||!Xl&&Ic(e,n)?(e=Sc(),Vi=Vl=In=null,zr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:o,offset:n-e};e=s}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Dc(o)}}function Fc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Fc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Hc(){for(var e=window,n=me();n instanceof e.HTMLIFrameElement;){try{var o=typeof n.contentWindow.location.href=="string"}catch{o=!1}if(o)e=n.contentWindow;else break;n=me(e.document)}return n}function Kl(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function jm(e){var n=Hc(),o=e.focusedElem,s=e.selectionRange;if(n!==o&&o&&o.ownerDocument&&Fc(o.ownerDocument.documentElement,o)){if(s!==null&&Kl(o)){if(n=s.start,e=s.end,e===void 0&&(e=n),"selectionStart"in o)o.selectionStart=n,o.selectionEnd=Math.min(e,o.value.length);else if(e=(n=o.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var a=o.textContent.length,d=Math.min(s.start,a);s=s.end===void 0?d:Math.min(s.end,a),!e.extend&&d>s&&(a=s,s=d,d=a),a=Oc(o,d);var x=Oc(o,s);a&&x&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==x.node||e.focusOffset!==x.offset)&&(n=n.createRange(),n.setStart(a.node,a.offset),e.removeAllRanges(),d>s?(e.addRange(n),e.extend(x.node,x.offset)):(n.setEnd(x.node,x.offset),e.addRange(n)))}}for(n=[],e=o;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,Rr=null,ql=null,zo=null,Zl=!1;function Vc(e,n,o){var s=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Zl||Rr==null||Rr!==me(s)||(s=Rr,"selectionStart"in s&&Kl(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),zo&&jo(zo,s)||(zo=s,s=Gi(ql,"onSelect"),0Or||(e.current=cu[Or],cu[Or]=null,Or--)}function Ae(e,n){Or++,cu[Or]=e.current,e.current=n}var Rn={},lt=zn(Rn),gt=zn(!1),rr=Rn;function Fr(e,n){var o=e.type.contextTypes;if(!o)return Rn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===n)return s.__reactInternalMemoizedMaskedChildContext;var a={},d;for(d in o)a[d]=n[d];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function mt(e){return e=e.childContextTypes,e!=null}function Ji(){De(gt),De(lt)}function nf(e,n,o){if(lt.current!==Rn)throw Error(i(168));Ae(lt,n),Ae(gt,o)}function rf(e,n,o){var s=e.stateNode;if(n=n.childContextTypes,typeof s.getChildContext!="function")return o;s=s.getChildContext();for(var a in s)if(!(a in n))throw Error(i(108,ce(e)||"Unknown",a));return O({},o,s)}function es(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Rn,rr=lt.current,Ae(lt,e),Ae(gt,gt.current),!0}function of(e,n,o){var s=e.stateNode;if(!s)throw Error(i(169));o?(e=rf(e,n,rr),s.__reactInternalMemoizedMergedChildContext=e,De(gt),De(lt),Ae(lt,e)):De(gt),Ae(gt,o)}var hn=null,ts=!1,fu=!1;function sf(e){hn===null?hn=[e]:hn.push(e)}function bm(e){ts=!0,sf(e)}function Ln(){if(!fu&&hn!==null){fu=!0;var e=0,n=Le;try{var o=hn;for(Le=1;e>=x,a-=x,pn=1<<32-Mt(n)+a|o<Ee?(tt=ke,ke=null):tt=ke.sibling;var ze=oe(W,ke,Y[Ee],ue);if(ze===null){ke===null&&(ke=tt);break}e&&ke&&ze.alternate===null&&n(W,ke),D=d(ze,D,Ee),_e===null?xe=ze:_e.sibling=ze,_e=ze,ke=tt}if(Ee===Y.length)return o(W,ke),Fe&&ir(W,Ee),xe;if(ke===null){for(;EeEe?(tt=ke,ke=null):tt=ke.sibling;var bn=oe(W,ke,ze.value,ue);if(bn===null){ke===null&&(ke=tt);break}e&&ke&&bn.alternate===null&&n(W,ke),D=d(bn,D,Ee),_e===null?xe=bn:_e.sibling=bn,_e=bn,ke=tt}if(ze.done)return o(W,ke),Fe&&ir(W,Ee),xe;if(ke===null){for(;!ze.done;Ee++,ze=Y.next())ze=le(W,ze.value,ue),ze!==null&&(D=d(ze,D,Ee),_e===null?xe=ze:_e.sibling=ze,_e=ze);return Fe&&ir(W,Ee),xe}for(ke=s(W,ke);!ze.done;Ee++,ze=Y.next())ze=de(ke,W,Ee,ze.value,ue),ze!==null&&(e&&ze.alternate!==null&&ke.delete(ze.key===null?Ee:ze.key),D=d(ze,D,Ee),_e===null?xe=ze:_e.sibling=ze,_e=ze);return e&&ke.forEach(function(k0){return n(W,k0)}),Fe&&ir(W,Ee),xe}function We(W,D,Y,ue){if(typeof Y=="object"&&Y!==null&&Y.type===B&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case H:e:{for(var xe=Y.key,_e=D;_e!==null;){if(_e.key===xe){if(xe=Y.type,xe===B){if(_e.tag===7){o(W,_e.sibling),D=a(_e,Y.props.children),D.return=W,W=D;break e}}else if(_e.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===V&&df(xe)===_e.type){o(W,_e.sibling),D=a(_e,Y.props),D.ref=Oo(W,_e,Y),D.return=W,W=D;break e}o(W,_e);break}else n(W,_e);_e=_e.sibling}Y.type===B?(D=hr(Y.props.children,W.mode,ue,Y.key),D.return=W,W=D):(ue=Is(Y.type,Y.key,Y.props,null,W.mode,ue),ue.ref=Oo(W,D,Y),ue.return=W,W=ue)}return x(W);case $:e:{for(_e=Y.key;D!==null;){if(D.key===_e)if(D.tag===4&&D.stateNode.containerInfo===Y.containerInfo&&D.stateNode.implementation===Y.implementation){o(W,D.sibling),D=a(D,Y.children||[]),D.return=W,W=D;break e}else{o(W,D);break}else n(W,D);D=D.sibling}D=ua(Y,W.mode,ue),D.return=W,W=D}return x(W);case V:return _e=Y._init,We(W,D,_e(Y._payload),ue)}if(Qe(Y))return ge(W,D,Y,ue);if(L(Y))return ye(W,D,Y,ue);is(W,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"?(Y=""+Y,D!==null&&D.tag===6?(o(W,D.sibling),D=a(D,Y),D.return=W,W=D):(o(W,D),D=la(Y,W.mode,ue),D.return=W,W=D),x(W)):o(W,D)}return We}var br=hf(!0),pf=hf(!1),ss=zn(null),ls=null,Ur=null,yu=null;function vu(){yu=Ur=ls=null}function xu(e){var n=ss.current;De(ss),e._currentValue=n}function wu(e,n,o){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===o)break;e=e.return}}function Wr(e,n){ls=e,yu=Ur=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(yt=!0),e.firstContext=null)}function Ot(e){var n=e._currentValue;if(yu!==e)if(e={context:e,memoizedValue:n,next:null},Ur===null){if(ls===null)throw Error(i(308));Ur=e,ls.dependencies={lanes:0,firstContext:e}}else Ur=Ur.next=e;return n}var sr=null;function Su(e){sr===null?sr=[e]:sr.push(e)}function gf(e,n,o,s){var a=n.interleaved;return a===null?(o.next=o,Su(n)):(o.next=a.next,a.next=o),n.interleaved=o,mn(e,s)}function mn(e,n){e.lanes|=n;var o=e.alternate;for(o!==null&&(o.lanes|=n),o=e,e=e.return;e!==null;)e.childLanes|=n,o=e.alternate,o!==null&&(o.childLanes|=n),o=e,e=e.return;return o.tag===3?o.stateNode:null}var An=!1;function _u(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mf(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function yn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function $n(e,n,o){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Te&2)!==0){var a=s.pending;return a===null?n.next=n:(n.next=a.next,a.next=n),s.pending=n,mn(e,o)}return a=s.interleaved,a===null?(n.next=n,Su(s)):(n.next=a.next,a.next=n),s.interleaved=n,mn(e,o)}function us(e,n,o){if(n=n.updateQueue,n!==null&&(n=n.shared,(o&4194240)!==0)){var s=n.lanes;s&=e.pendingLanes,o|=s,n.lanes=o,Ir(e,o)}}function yf(e,n){var o=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,o===s)){var a=null,d=null;if(o=o.firstBaseUpdate,o!==null){do{var x={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};d===null?a=d=x:d=d.next=x,o=o.next}while(o!==null);d===null?a=d=n:d=d.next=n}else a=d=n;o={baseState:s.baseState,firstBaseUpdate:a,lastBaseUpdate:d,shared:s.shared,effects:s.effects},e.updateQueue=o;return}e=o.lastBaseUpdate,e===null?o.firstBaseUpdate=n:e.next=n,o.lastBaseUpdate=n}function as(e,n,o,s){var a=e.updateQueue;An=!1;var d=a.firstBaseUpdate,x=a.lastBaseUpdate,T=a.shared.pending;if(T!==null){a.shared.pending=null;var R=T,q=R.next;R.next=null,x===null?d=q:x.next=q,x=R;var ie=e.alternate;ie!==null&&(ie=ie.updateQueue,T=ie.lastBaseUpdate,T!==x&&(T===null?ie.firstBaseUpdate=q:T.next=q,ie.lastBaseUpdate=R))}if(d!==null){var le=a.baseState;x=0,ie=q=R=null,T=d;do{var oe=T.lane,de=T.eventTime;if((s&oe)===oe){ie!==null&&(ie=ie.next={eventTime:de,lane:0,tag:T.tag,payload:T.payload,callback:T.callback,next:null});e:{var ge=e,ye=T;switch(oe=n,de=o,ye.tag){case 1:if(ge=ye.payload,typeof ge=="function"){le=ge.call(de,le,oe);break e}le=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=ye.payload,oe=typeof ge=="function"?ge.call(de,le,oe):ge,oe==null)break e;le=O({},le,oe);break e;case 2:An=!0}}T.callback!==null&&T.lane!==0&&(e.flags|=64,oe=a.effects,oe===null?a.effects=[T]:oe.push(T))}else de={eventTime:de,lane:oe,tag:T.tag,payload:T.payload,callback:T.callback,next:null},ie===null?(q=ie=de,R=le):ie=ie.next=de,x|=oe;if(T=T.next,T===null){if(T=a.shared.pending,T===null)break;oe=T,T=oe.next,oe.next=null,a.lastBaseUpdate=oe,a.shared.pending=null}}while(!0);if(ie===null&&(R=le),a.baseState=R,a.firstBaseUpdate=q,a.lastBaseUpdate=ie,n=a.shared.interleaved,n!==null){a=n;do x|=a.lane,a=a.next;while(a!==n)}else d===null&&(a.shared.lanes=0);ar|=x,e.lanes=x,e.memoizedState=le}}function vf(e,n,o){if(e=n.effects,n.effects=null,e!==null)for(n=0;no?o:4,e(!0);var s=Mu.transition;Mu.transition={};try{e(!1),n()}finally{Le=o,Mu.transition=s}}function Df(){return Ft().memoizedState}function Xm(e,n,o){var s=Hn(e);if(o={lane:s,action:o,hasEagerState:!1,eagerState:null,next:null},Of(e))Ff(n,o);else if(o=gf(e,n,o,s),o!==null){var a=pt();Xt(o,e,s,a),Hf(o,n,s)}}function Qm(e,n,o){var s=Hn(e),a={lane:s,action:o,hasEagerState:!1,eagerState:null,next:null};if(Of(e))Ff(n,a);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=n.lastRenderedReducer,d!==null))try{var x=n.lastRenderedState,T=d(x,o);if(a.hasEagerState=!0,a.eagerState=T,Bt(T,x)){var R=n.interleaved;R===null?(a.next=a,Su(n)):(a.next=R.next,R.next=a),n.interleaved=a;return}}catch{}finally{}o=gf(e,n,a,s),o!==null&&(a=pt(),Xt(o,e,s,a),Hf(o,n,s))}}function Of(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function Ff(e,n){Bo=ds=!0;var o=e.pending;o===null?n.next=n:(n.next=o.next,o.next=n),e.pending=n}function Hf(e,n,o){if((o&4194240)!==0){var s=n.lanes;s&=e.pendingLanes,o|=s,n.lanes=o,Ir(e,o)}}var gs={readContext:Ot,useCallback:ut,useContext:ut,useEffect:ut,useImperativeHandle:ut,useInsertionEffect:ut,useLayoutEffect:ut,useMemo:ut,useReducer:ut,useRef:ut,useState:ut,useDebugValue:ut,useDeferredValue:ut,useTransition:ut,useMutableSource:ut,useSyncExternalStore:ut,useId:ut,unstable_isNewReconciler:!1},Gm={readContext:Ot,useCallback:function(e,n){return on().memoizedState=[e,n===void 0?null:n],e},useContext:Ot,useEffect:If,useImperativeHandle:function(e,n,o){return o=o!=null?o.concat([e]):null,hs(4194308,4,zf.bind(null,n,e),o)},useLayoutEffect:function(e,n){return hs(4194308,4,e,n)},useInsertionEffect:function(e,n){return hs(4,2,e,n)},useMemo:function(e,n){var o=on();return n=n===void 0?null:n,e=e(),o.memoizedState=[e,n],e},useReducer:function(e,n,o){var s=on();return n=o!==void 0?o(n):n,s.memoizedState=s.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},s.queue=e,e=e.dispatch=Xm.bind(null,Be,e),[s.memoizedState,e]},useRef:function(e){var n=on();return e={current:e},n.memoizedState=e},useState:Mf,useDebugValue:Lu,useDeferredValue:function(e){return on().memoizedState=e},useTransition:function(){var e=Mf(!1),n=e[0];return e=Ym.bind(null,e[1]),on().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,o){var s=Be,a=on();if(Fe){if(o===void 0)throw Error(i(407));o=o()}else{if(o=n(),et===null)throw Error(i(349));(ur&30)!==0||_f(s,n,o)}a.memoizedState=o;var d={value:o,getSnapshot:n};return a.queue=d,If(Ef.bind(null,s,d,e),[e]),s.flags|=2048,Wo(9,kf.bind(null,s,d,o,n),void 0,null),o},useId:function(){var e=on(),n=et.identifierPrefix;if(Fe){var o=gn,s=pn;o=(s&~(1<<32-Mt(s)-1)).toString(32)+o,n=":"+n+"R"+o,o=bo++,0<\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=x.createElement(o,{is:s.is}):(e=x.createElement(o),o==="select"&&(x=e,s.multiple?x.multiple=!0:s.size&&(x.size=s.size))):e=x.createElementNS(e,o),e[nn]=n,e[$o]=s,sd(e,n,!1,!1),n.stateNode=e;e:{switch(x=ao(o,s),o){case"dialog":$e("cancel",e),$e("close",e),a=s;break;case"iframe":case"object":case"embed":$e("load",e),a=s;break;case"video":case"audio":for(a=0;aKr&&(n.flags|=128,s=!0,Yo(d,!1),n.lanes=4194304)}else{if(!s)if(e=cs(x),e!==null){if(n.flags|=128,s=!0,o=e.updateQueue,o!==null&&(n.updateQueue=o,n.flags|=4),Yo(d,!0),d.tail===null&&d.tailMode==="hidden"&&!x.alternate&&!Fe)return at(n),null}else 2*He()-d.renderingStartTime>Kr&&o!==1073741824&&(n.flags|=128,s=!0,Yo(d,!1),n.lanes=4194304);d.isBackwards?(x.sibling=n.child,n.child=x):(o=d.last,o!==null?o.sibling=x:n.child=x,d.last=x)}return d.tail!==null?(n=d.tail,d.rendering=n,d.tail=n.sibling,d.renderingStartTime=He(),n.sibling=null,o=Ve.current,Ae(Ve,s?o&1|2:o&1),n):(at(n),null);case 22:case 23:return oa(),s=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(n.flags|=8192),s&&(n.mode&1)!==0?(jt&1073741824)!==0&&(at(n),n.subtreeFlags&6&&(n.flags|=8192)):at(n),null;case 24:return null;case 25:return null}throw Error(i(156,n.tag))}function r0(e,n){switch(hu(n),n.tag){case 1:return mt(n.type)&&Ji(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Yr(),De(gt),De(lt),Cu(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return Eu(n),null;case 13:if(De(Ve),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(i(340));Br()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return De(Ve),null;case 4:return Yr(),null;case 10:return xu(n.type._context),null;case 22:case 23:return oa(),null;case 24:return null;default:return null}}var xs=!1,ct=!1,o0=typeof WeakSet=="function"?WeakSet:Set,he=null;function Qr(e,n){var o=e.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(s){Ue(e,n,s)}else o.current=null}function Yu(e,n,o){try{o()}catch(s){Ue(e,n,s)}}var ad=!1;function i0(e,n){if(ou=Fi,e=Hc(),Kl(e)){if("selectionStart"in e)var o={start:e.selectionStart,end:e.selectionEnd};else e:{o=(o=e.ownerDocument)&&o.defaultView||window;var s=o.getSelection&&o.getSelection();if(s&&s.rangeCount!==0){o=s.anchorNode;var a=s.anchorOffset,d=s.focusNode;s=s.focusOffset;try{o.nodeType,d.nodeType}catch{o=null;break e}var x=0,T=-1,R=-1,q=0,ie=0,le=e,oe=null;t:for(;;){for(var de;le!==o||a!==0&&le.nodeType!==3||(T=x+a),le!==d||s!==0&&le.nodeType!==3||(R=x+s),le.nodeType===3&&(x+=le.nodeValue.length),(de=le.firstChild)!==null;)oe=le,le=de;for(;;){if(le===e)break t;if(oe===o&&++q===a&&(T=x),oe===d&&++ie===s&&(R=x),(de=le.nextSibling)!==null)break;le=oe,oe=le.parentNode}le=de}o=T===-1||R===-1?null:{start:T,end:R}}else o=null}o=o||{start:0,end:0}}else o=null;for(iu={focusedElem:e,selectionRange:o},Fi=!1,he=n;he!==null;)if(n=he,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,he=e;else for(;he!==null;){n=he;try{var ge=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ge!==null){var ye=ge.memoizedProps,We=ge.memoizedState,W=n.stateNode,D=W.getSnapshotBeforeUpdate(n.elementType===n.type?ye:Ut(n.type,ye),We);W.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var Y=n.stateNode.containerInfo;Y.nodeType===1?Y.textContent="":Y.nodeType===9&&Y.documentElement&&Y.removeChild(Y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(ue){Ue(n,n.return,ue)}if(e=n.sibling,e!==null){e.return=n.return,he=e;break}he=n.return}return ge=ad,ad=!1,ge}function Xo(e,n,o){var s=n.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var a=s=s.next;do{if((a.tag&e)===e){var d=a.destroy;a.destroy=void 0,d!==void 0&&Yu(n,o,d)}a=a.next}while(a!==s)}}function ws(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var s=o.create;o.destroy=s()}o=o.next}while(o!==n)}}function Xu(e){var n=e.ref;if(n!==null){var o=e.stateNode;switch(e.tag){case 5:e=o;break;default:e=o}typeof n=="function"?n(e):n.current=e}}function cd(e){var n=e.alternate;n!==null&&(e.alternate=null,cd(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[nn],delete n[$o],delete n[au],delete n[Vm],delete n[Bm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function fd(e){return e.tag===5||e.tag===3||e.tag===4}function dd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Qu(e,n,o){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?o.nodeType===8?o.parentNode.insertBefore(e,n):o.insertBefore(e,n):(o.nodeType===8?(n=o.parentNode,n.insertBefore(e,o)):(n=o,n.appendChild(e)),o=o._reactRootContainer,o!=null||n.onclick!==null||(n.onclick=qi));else if(s!==4&&(e=e.child,e!==null))for(Qu(e,n,o),e=e.sibling;e!==null;)Qu(e,n,o),e=e.sibling}function Gu(e,n,o){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?o.insertBefore(e,n):o.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(Gu(e,n,o),e=e.sibling;e!==null;)Gu(e,n,o),e=e.sibling}var ot=null,Wt=!1;function Dn(e,n,o){for(o=o.child;o!==null;)hd(e,n,o),o=o.sibling}function hd(e,n,o){if(Ct&&typeof Ct.onCommitFiberUnmount=="function")try{Ct.onCommitFiberUnmount(Cr,o)}catch{}switch(o.tag){case 5:ct||Qr(o,n);case 6:var s=ot,a=Wt;ot=null,Dn(e,n,o),ot=s,Wt=a,ot!==null&&(Wt?(e=ot,o=o.stateNode,e.nodeType===8?e.parentNode.removeChild(o):e.removeChild(o)):ot.removeChild(o.stateNode));break;case 18:ot!==null&&(Wt?(e=ot,o=o.stateNode,e.nodeType===8?uu(e.parentNode,o):e.nodeType===1&&uu(e,o),No(e)):uu(ot,o.stateNode));break;case 4:s=ot,a=Wt,ot=o.stateNode.containerInfo,Wt=!0,Dn(e,n,o),ot=s,Wt=a;break;case 0:case 11:case 14:case 15:if(!ct&&(s=o.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){a=s=s.next;do{var d=a,x=d.destroy;d=d.tag,x!==void 0&&((d&2)!==0||(d&4)!==0)&&Yu(o,n,x),a=a.next}while(a!==s)}Dn(e,n,o);break;case 1:if(!ct&&(Qr(o,n),s=o.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=o.memoizedProps,s.state=o.memoizedState,s.componentWillUnmount()}catch(T){Ue(o,n,T)}Dn(e,n,o);break;case 21:Dn(e,n,o);break;case 22:o.mode&1?(ct=(s=ct)||o.memoizedState!==null,Dn(e,n,o),ct=s):Dn(e,n,o);break;default:Dn(e,n,o)}}function pd(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var o=e.stateNode;o===null&&(o=e.stateNode=new o0),n.forEach(function(s){var a=p0.bind(null,e,s);o.has(s)||(o.add(s),s.then(a,a))})}}function Yt(e,n){var o=n.deletions;if(o!==null)for(var s=0;sa&&(a=x),s&=~d}if(s=a,s=He()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*l0(s/1960))-s,10e?16:e,Fn===null)var s=!1;else{if(e=Fn,Fn=null,Ns=0,(Te&6)!==0)throw Error(i(331));var a=Te;for(Te|=4,he=e.current;he!==null;){var d=he,x=d.child;if((he.flags&16)!==0){var T=d.deletions;if(T!==null){for(var R=0;RHe()-Zu?fr(e,0):qu|=o),xt(e,n)}function Md(e,n){n===0&&((e.mode&1)===0?n=1:(n=Pr,Pr<<=1,(Pr&130023424)===0&&(Pr=4194304)));var o=pt();e=mn(e,n),e!==null&&(tr(e,n,o),xt(e,o))}function h0(e){var n=e.memoizedState,o=0;n!==null&&(o=n.retryLane),Md(e,o)}function p0(e,n){var o=0;switch(e.tag){case 13:var s=e.stateNode,a=e.memoizedState;a!==null&&(o=a.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(i(314))}s!==null&&s.delete(n),Md(e,o)}var Pd;Pd=function(e,n,o){if(e!==null)if(e.memoizedProps!==n.pendingProps||gt.current)yt=!0;else{if((e.lanes&o)===0&&(n.flags&128)===0)return yt=!1,t0(e,n,o);yt=(e.flags&131072)!==0}else yt=!1,Fe&&(n.flags&1048576)!==0&&lf(n,rs,n.index);switch(n.lanes=0,n.tag){case 2:var s=n.type;vs(e,n),e=n.pendingProps;var a=Fr(n,lt.current);Wr(n,o),a=Iu(null,n,s,e,a,o);var d=Tu();return n.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,mt(s)?(d=!0,es(n)):d=!1,n.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,_u(n),a.updater=ms,n.stateNode=a,a._reactInternals=n,$u(n,s,e,o),n=Hu(null,n,s,!0,d,o)):(n.tag=0,Fe&&d&&du(n),ht(null,n,a,o),n=n.child),n;case 16:s=n.elementType;e:{switch(vs(e,n),e=n.pendingProps,a=s._init,s=a(s._payload),n.type=s,a=n.tag=m0(s),e=Ut(s,e),a){case 0:n=Fu(null,n,s,e,o);break e;case 1:n=ed(null,n,s,e,o);break e;case 11:n=Gf(null,n,s,e,o);break e;case 14:n=Kf(null,n,s,Ut(s.type,e),o);break e}throw Error(i(306,s,""))}return n;case 0:return s=n.type,a=n.pendingProps,a=n.elementType===s?a:Ut(s,a),Fu(e,n,s,a,o);case 1:return s=n.type,a=n.pendingProps,a=n.elementType===s?a:Ut(s,a),ed(e,n,s,a,o);case 3:e:{if(td(n),e===null)throw Error(i(387));s=n.pendingProps,d=n.memoizedState,a=d.element,mf(e,n),as(n,s,null,o);var x=n.memoizedState;if(s=x.element,d.isDehydrated)if(d={element:s,isDehydrated:!1,cache:x.cache,pendingSuspenseBoundaries:x.pendingSuspenseBoundaries,transitions:x.transitions},n.updateQueue.baseState=d,n.memoizedState=d,n.flags&256){a=Xr(Error(i(423)),n),n=nd(e,n,s,o,a);break e}else if(s!==a){a=Xr(Error(i(424)),n),n=nd(e,n,s,o,a);break e}else for(Tt=jn(n.stateNode.containerInfo.firstChild),It=n,Fe=!0,bt=null,o=pf(n,null,s,o),n.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(Br(),s===a){n=vn(e,n,o);break e}ht(e,n,s,o)}n=n.child}return n;case 5:return xf(n),e===null&&gu(n),s=n.type,a=n.pendingProps,d=e!==null?e.memoizedProps:null,x=a.children,su(s,a)?x=null:d!==null&&su(s,d)&&(n.flags|=32),Jf(e,n),ht(e,n,x,o),n.child;case 6:return e===null&&gu(n),null;case 13:return rd(e,n,o);case 4:return ku(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=br(n,null,s,o):ht(e,n,s,o),n.child;case 11:return s=n.type,a=n.pendingProps,a=n.elementType===s?a:Ut(s,a),Gf(e,n,s,a,o);case 7:return ht(e,n,n.pendingProps,o),n.child;case 8:return ht(e,n,n.pendingProps.children,o),n.child;case 12:return ht(e,n,n.pendingProps.children,o),n.child;case 10:e:{if(s=n.type._context,a=n.pendingProps,d=n.memoizedProps,x=a.value,Ae(ss,s._currentValue),s._currentValue=x,d!==null)if(Bt(d.value,x)){if(d.children===a.children&&!gt.current){n=vn(e,n,o);break e}}else for(d=n.child,d!==null&&(d.return=n);d!==null;){var T=d.dependencies;if(T!==null){x=d.child;for(var R=T.firstContext;R!==null;){if(R.context===s){if(d.tag===1){R=yn(-1,o&-o),R.tag=2;var q=d.updateQueue;if(q!==null){q=q.shared;var ie=q.pending;ie===null?R.next=R:(R.next=ie.next,ie.next=R),q.pending=R}}d.lanes|=o,R=d.alternate,R!==null&&(R.lanes|=o),wu(d.return,o,n),T.lanes|=o;break}R=R.next}}else if(d.tag===10)x=d.type===n.type?null:d.child;else if(d.tag===18){if(x=d.return,x===null)throw Error(i(341));x.lanes|=o,T=x.alternate,T!==null&&(T.lanes|=o),wu(x,o,n),x=d.sibling}else x=d.child;if(x!==null)x.return=d;else for(x=d;x!==null;){if(x===n){x=null;break}if(d=x.sibling,d!==null){d.return=x.return,x=d;break}x=x.return}d=x}ht(e,n,a.children,o),n=n.child}return n;case 9:return a=n.type,s=n.pendingProps.children,Wr(n,o),a=Ot(a),s=s(a),n.flags|=1,ht(e,n,s,o),n.child;case 14:return s=n.type,a=Ut(s,n.pendingProps),a=Ut(s.type,a),Kf(e,n,s,a,o);case 15:return qf(e,n,n.type,n.pendingProps,o);case 17:return s=n.type,a=n.pendingProps,a=n.elementType===s?a:Ut(s,a),vs(e,n),n.tag=1,mt(s)?(e=!0,es(n)):e=!1,Wr(n,o),Bf(n,s,a),$u(n,s,a,o),Hu(null,n,s,!0,e,o);case 19:return id(e,n,o);case 22:return Zf(e,n,o)}throw Error(i(156,n.tag))};function Id(e,n){return Ti(e,n)}function g0(e,n,o,s){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vt(e,n,o,s){return new g0(e,n,o,s)}function sa(e){return e=e.prototype,!(!e||!e.isReactComponent)}function m0(e){if(typeof e=="function")return sa(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ee)return 11;if(e===U)return 14}return 2}function Bn(e,n){var o=e.alternate;return o===null?(o=Vt(e.tag,n,e.key,e.mode),o.elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=n,o.type=e.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=e.flags&14680064,o.childLanes=e.childLanes,o.lanes=e.lanes,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,n=e.dependencies,o.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o}function Is(e,n,o,s,a,d){var x=2;if(s=e,typeof e=="function")sa(e)&&(x=1);else if(typeof e=="string")x=5;else e:switch(e){case B:return hr(o.children,a,d,n);case X:x=8,a|=8;break;case G:return e=Vt(12,o,n,a|2),e.elementType=G,e.lanes=d,e;case J:return e=Vt(13,o,n,a),e.elementType=J,e.lanes=d,e;case N:return e=Vt(19,o,n,a),e.elementType=N,e.lanes=d,e;case b:return Ts(o,a,d,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case te:x=10;break e;case Z:x=9;break e;case ee:x=11;break e;case U:x=14;break e;case V:x=16,s=null;break e}throw Error(i(130,e==null?e:typeof e,""))}return n=Vt(x,o,n,a),n.elementType=e,n.type=s,n.lanes=d,n}function hr(e,n,o,s){return e=Vt(7,e,s,n),e.lanes=o,e}function Ts(e,n,o,s){return e=Vt(22,e,s,n),e.elementType=b,e.lanes=o,e.stateNode={isHidden:!1},e}function la(e,n,o){return e=Vt(6,e,null,n),e.lanes=o,e}function ua(e,n,o){return n=Vt(4,e.children!==null?e.children:[],e.key,n),n.lanes=o,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function y0(e,n,o,s,a){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=er(0),this.expirationTimes=er(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=er(0),this.identifierPrefix=s,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function aa(e,n,o,s,a,d,x,T,R){return e=new y0(e,n,o,T,R),n===1?(n=1,d===!0&&(n|=8)):n=0,d=Vt(3,null,null,n),e.current=d,d.stateNode=e,d.memoizedState={element:s,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},_u(d),e}function v0(e,n,o){var s=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),ga.exports=T0(),ga.exports}var bd;function j0(){if(bd)return Ds;bd=1;var t=ep();return Ds.createRoot=t.createRoot,Ds.hydrateRoot=t.hydrateRoot,Ds}var z0=j0();async function zt(t,r){const i=await fetch(t,{...r,headers:{"Content-Type":"application/json",...(r==null?void 0:r.headers)||{}}});if(!i.ok){const l=await i.text();throw new Error(l||i.statusText)}return i.json()}const St={health:()=>zt("/api/health"),settings:()=>zt("/api/settings"),saveSettings:t=>zt("/api/settings",{method:"PUT",body:JSON.stringify(t)}),repos:()=>zt("/api/repos"),index:(t,r=!0)=>zt("/api/index",{method:"POST",body:JSON.stringify({repo_path:t,incremental:r})}),indexStatus:t=>zt(`/api/index?repo_path=${encodeURIComponent(t)}`),architecture:t=>zt(`/api/architecture?repo_path=${encodeURIComponent(t)}`),review:(t,r,i,l=!0)=>zt("/api/review",{method:"POST",body:JSON.stringify({repo_path:t,base:r,head:i||null,reindex:l,incremental:!0,three_dot:!0})}),init:(t,r=!1)=>zt("/api/init",{method:"POST",body:JSON.stringify({repo_path:t,overwrite:r})}),postComment:(t,r,i,l)=>zt("/api/prs/comment",{method:"POST",body:JSON.stringify({provider:t,repo:r,number:i,markdown:l})}),graph:(t,r="full")=>zt(`/api/graph?repo_path=${encodeURIComponent(t)}&scope=${r}`),prs:(t,r,i="open")=>zt("/api/prs",{method:"POST",body:JSON.stringify({provider:t,repo:r,state:i})}),residual:t=>zt("/api/ai/residual",{method:"POST",body:JSON.stringify({review:t})})};function Xe(t){if(typeof t=="string"||typeof t=="number")return""+t;let r="";if(Array.isArray(t))for(let i=0,l;i{}};function cl(){for(var t=0,r=arguments.length,i={},l;t=0&&(l=i.slice(u+1),i=i.slice(0,u)),i&&!r.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Xs.prototype=cl.prototype={constructor:Xs,on:function(t,r){var i=this._,l=L0(t+"",i),u,c=-1,f=l.length;if(arguments.length<2){for(;++c0)for(var i=new Array(u),l=0,u,c;l=0&&(r=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),Wd.hasOwnProperty(r)?{space:Wd[r],local:t}:t}function $0(t){return function(){var r=this.ownerDocument,i=this.namespaceURI;return i===za&&r.documentElement.namespaceURI===za?r.createElement(t):r.createElementNS(i,t)}}function D0(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function tp(t){var r=fl(t);return(r.local?D0:$0)(r)}function O0(){}function Xa(t){return t==null?O0:function(){return this.querySelector(t)}}function F0(t){typeof t!="function"&&(t=Xa(t));for(var r=this._groups,i=r.length,l=new Array(i),u=0;u=_&&(_=z+1);!(H=C[_])&&++_=0;)(f=l[u])&&(c&&f.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(f,c),c=f);return this}function cy(t){t||(t=fy);function r(v,m){return v&&m?t(v.__data__,m.__data__):!v-!m}for(var i=this._groups,l=i.length,u=new Array(l),c=0;cr?1:t>=r?0:NaN}function dy(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function hy(){return Array.from(this)}function py(){for(var t=this._groups,r=0,i=t.length;r1?this.each((r==null?Ny:typeof r=="function"?My:Cy)(t,r,i??"")):no(this.node(),t)}function no(t,r){return t.style.getPropertyValue(r)||sp(t).getComputedStyle(t,null).getPropertyValue(r)}function Iy(t){return function(){delete this[t]}}function Ty(t,r){return function(){this[t]=r}}function jy(t,r){return function(){var i=r.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function zy(t,r){return arguments.length>1?this.each((r==null?Iy:typeof r=="function"?jy:Ty)(t,r)):this.node()[t]}function lp(t){return t.trim().split(/^|\s+/)}function Qa(t){return t.classList||new up(t)}function up(t){this._node=t,this._names=lp(t.getAttribute("class")||"")}up.prototype={add:function(t){var r=this._names.indexOf(t);r<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var r=this._names.indexOf(t);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function ap(t,r){for(var i=Qa(t),l=-1,u=r.length;++l=0&&(i=r.slice(l+1),r=r.slice(0,l)),{type:r,name:i}})}function sv(t){return function(){var r=this.__on;if(r){for(var i=0,l=-1,u=r.length,c;i()=>t;function Ra(t,{sourceEvent:r,subject:i,target:l,identifier:u,active:c,x:f,y:h,dx:p,dy:y,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:u,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:f,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:y,enumerable:!0,configurable:!0},_:{value:g}})}Ra.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function mv(t){return!t.ctrlKey&&!t.button}function yv(){return this.parentNode}function vv(t,r){return r??{x:t.x,y:t.y}}function xv(){return navigator.maxTouchPoints||"ontouchstart"in this}function gp(){var t=mv,r=yv,i=vv,l=xv,u={},c=cl("start","drag","end"),f=0,h,p,y,g,v=0;function m(I){I.on("mousedown.drag",w).filter(l).on("touchstart.drag",C).on("touchmove.drag",k,gv).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function w(I,H){if(!(g||!t.call(this,I,H))){var $=_(this,r.call(this,I,H),I,H,"mouse");$&&(Rt(I.view).on("mousemove.drag",S,ii).on("mouseup.drag",P,ii),hp(I.view),va(I),y=!1,h=I.clientX,p=I.clientY,$("start",I))}}function S(I){if(eo(I),!y){var H=I.clientX-h,$=I.clientY-p;y=H*H+$*$>v}u.mouse("drag",I)}function P(I){Rt(I.view).on("mousemove.drag mouseup.drag",null),pp(I.view,y),eo(I),u.mouse("end",I)}function C(I,H){if(t.call(this,I,H)){var $=I.changedTouches,B=r.call(this,I,H),X=$.length,G,te;for(G=0;G>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):i===8?Fs(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):i===4?Fs(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=Sv.exec(t))?new _t(r[1],r[2],r[3],1):(r=_v.exec(t))?new _t(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=kv.exec(t))?Fs(r[1],r[2],r[3],r[4]):(r=Ev.exec(t))?Fs(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=Nv.exec(t))?Zd(r[1],r[2]/100,r[3]/100,1):(r=Cv.exec(t))?Zd(r[1],r[2]/100,r[3]/100,r[4]):Yd.hasOwnProperty(t)?Gd(Yd[t]):t==="transparent"?new _t(NaN,NaN,NaN,0):null}function Gd(t){return new _t(t>>16&255,t>>8&255,t&255,1)}function Fs(t,r,i,l){return l<=0&&(t=r=i=NaN),new _t(t,r,i,l)}function Iv(t){return t instanceof mi||(t=vr(t)),t?(t=t.rgb(),new _t(t.r,t.g,t.b,t.opacity)):new _t}function La(t,r,i,l){return arguments.length===1?Iv(t):new _t(t,r,i,l??1)}function _t(t,r,i,l){this.r=+t,this.g=+r,this.b=+i,this.opacity=+l}Ga(_t,La,mp(mi,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new _t(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?si:Math.pow(si,t),new _t(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new _t(mr(this.r),mr(this.g),mr(this.b),el(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:Kd,formatHex:Kd,formatHex8:Tv,formatRgb:qd,toString:qd}));function Kd(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}`}function Tv(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}${gr((isNaN(this.opacity)?1:this.opacity)*255)}`}function qd(){const t=el(this.opacity);return`${t===1?"rgb(":"rgba("}${mr(this.r)}, ${mr(this.g)}, ${mr(this.b)}${t===1?")":`, ${t})`}`}function el(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function mr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function gr(t){return t=mr(t),(t<16?"0":"")+t.toString(16)}function Zd(t,r,i,l){return l<=0?t=r=i=NaN:i<=0||i>=1?t=r=NaN:r<=0&&(t=NaN),new Gt(t,r,i,l)}function yp(t){if(t instanceof Gt)return new Gt(t.h,t.s,t.l,t.opacity);if(t instanceof mi||(t=vr(t)),!t)return new Gt;if(t instanceof Gt)return t;t=t.rgb();var r=t.r/255,i=t.g/255,l=t.b/255,u=Math.min(r,i,l),c=Math.max(r,i,l),f=NaN,h=c-u,p=(c+u)/2;return h?(r===c?f=(i-l)/h+(i0&&p<1?0:f,new Gt(f,h,p,t.opacity)}function jv(t,r,i,l){return arguments.length===1?yp(t):new Gt(t,r,i,l??1)}function Gt(t,r,i,l){this.h=+t,this.s=+r,this.l=+i,this.opacity=+l}Ga(Gt,jv,mp(mi,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new Gt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?si:Math.pow(si,t),new Gt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,r=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*r,u=2*i-l;return new _t(xa(t>=240?t-240:t+120,u,l),xa(t,u,l),xa(t<120?t+240:t-120,u,l),this.opacity)},clamp(){return new Gt(Jd(this.h),Hs(this.s),Hs(this.l),el(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=el(this.opacity);return`${t===1?"hsl(":"hsla("}${Jd(this.h)}, ${Hs(this.s)*100}%, ${Hs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Jd(t){return t=(t||0)%360,t<0?t+360:t}function Hs(t){return Math.max(0,Math.min(1,t||0))}function xa(t,r,i){return(t<60?r+(i-r)*t/60:t<180?i:t<240?r+(i-r)*(240-t)/60:r)*255}const Ka=t=>()=>t;function zv(t,r){return function(i){return t+i*r}}function Rv(t,r,i){return t=Math.pow(t,i),r=Math.pow(r,i)-t,i=1/i,function(l){return Math.pow(t+l*r,i)}}function Lv(t){return(t=+t)==1?vp:function(r,i){return i-r?Rv(r,i,t):Ka(isNaN(r)?i:r)}}function vp(t,r){var i=r-t;return i?zv(t,i):Ka(isNaN(t)?r:t)}const tl=(function t(r){var i=Lv(r);function l(u,c){var f=i((u=La(u)).r,(c=La(c)).r),h=i(u.g,c.g),p=i(u.b,c.b),y=vp(u.opacity,c.opacity);return function(g){return u.r=f(g),u.g=h(g),u.b=p(g),u.opacity=y(g),u+""}}return l.gamma=t,l})(1);function Av(t,r){r||(r=[]);var i=t?Math.min(r.length,t.length):0,l=r.slice(),u;return function(c){for(u=0;ui&&(c=r.slice(i,c),h[f]?h[f]+=c:h[++f]=c),(l=l[0])===(u=u[0])?h[f]?h[f]+=u:h[++f]=u:(h[++f]=null,p.push({i:f,x:ln(l,u)})),i=wa.lastIndex;return i180?g+=360:g-y>180&&(y+=360),m.push({i:v.push(u(v)+"rotate(",null,l)-2,x:ln(y,g)})):g&&v.push(u(v)+"rotate("+g+l)}function h(y,g,v,m){y!==g?m.push({i:v.push(u(v)+"skewX(",null,l)-2,x:ln(y,g)}):g&&v.push(u(v)+"skewX("+g+l)}function p(y,g,v,m,w,S){if(y!==v||g!==m){var P=w.push(u(w)+"scale(",null,",",null,")");S.push({i:P-4,x:ln(y,v)},{i:P-2,x:ln(g,m)})}else(v!==1||m!==1)&&w.push(u(w)+"scale("+v+","+m+")")}return function(y,g){var v=[],m=[];return y=t(y),g=t(g),c(y.translateX,y.translateY,g.translateX,g.translateY,v,m),f(y.rotate,g.rotate,v,m),h(y.skewX,g.skewX,v,m),p(y.scaleX,y.scaleY,g.scaleX,g.scaleY,v,m),y=g=null,function(w){for(var S=-1,P=m.length,C;++S=0&&t._call.call(void 0,r),t=t._next;--ro}function nh(){xr=(rl=ui.now())+dl,ro=ti=0;try{Kv()}finally{ro=0,Zv(),xr=0}}function qv(){var t=ui.now(),r=t-rl;r>_p&&(dl-=r,rl=t)}function Zv(){for(var t,r=nl,i,l=1/0;r;)r._call?(l>r._time&&(l=r._time),t=r,r=r._next):(i=r._next,r._next=null,r=t?t._next=i:nl=i);ni=t,Da(l)}function Da(t){if(!ro){ti&&(ti=clearTimeout(ti));var r=t-xr;r>24?(t<1/0&&(ti=setTimeout(nh,t-ui.now()-dl)),Jo&&(Jo=clearInterval(Jo))):(Jo||(rl=ui.now(),Jo=setInterval(qv,_p)),ro=1,kp(nh))}}function rh(t,r,i){var l=new ol;return r=r==null?0:+r,l.restart(u=>{l.stop(),t(u+r)},r,i),l}var Jv=cl("start","end","cancel","interrupt"),ex=[],Np=0,oh=1,Oa=2,Gs=3,ih=4,Fa=5,Ks=6;function hl(t,r,i,l,u,c){var f=t.__transition;if(!f)t.__transition={};else if(i in f)return;tx(t,i,{name:r,index:l,group:u,on:Jv,tween:ex,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Np})}function Za(t,r){var i=Jt(t,r);if(i.state>Np)throw new Error("too late; already scheduled");return i}function an(t,r){var i=Jt(t,r);if(i.state>Gs)throw new Error("too late; already running");return i}function Jt(t,r){var i=t.__transition;if(!i||!(i=i[r]))throw new Error("transition not found");return i}function tx(t,r,i){var l=t.__transition,u;l[r]=i,i.timer=Ep(c,0,i.time);function c(y){i.state=oh,i.timer.restart(f,i.delay,i.time),i.delay<=y&&f(y-i.delay)}function f(y){var g,v,m,w;if(i.state!==oh)return p();for(g in l)if(w=l[g],w.name===i.name){if(w.state===Gs)return rh(f);w.state===ih?(w.state=Ks,w.timer.stop(),w.on.call("interrupt",t,t.__data__,w.index,w.group),delete l[g]):+gOa&&l.state=0&&(r=r.slice(0,i)),!r||r==="start"})}function jx(t,r,i){var l,u,c=Tx(r)?Za:an;return function(){var f=c(this,t),h=f.on;h!==l&&(u=(l=h).copy()).on(r,i),f.on=u}}function zx(t,r){var i=this._id;return arguments.length<2?Jt(this.node(),i).on.on(t):this.each(jx(i,t,r))}function Rx(t){return function(){var r=this.parentNode;for(var i in this.__transition)if(+i!==t)return;r&&r.removeChild(this)}}function Lx(){return this.on("end.remove",Rx(this._id))}function Ax(t){var r=this._name,i=this._id;typeof t!="function"&&(t=Xa(t));for(var l=this._groups,u=l.length,c=new Array(u),f=0;f()=>t;function sw(t,{sourceEvent:r,target:i,transform:l,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}function Sn(t,r,i){this.k=t,this.x=r,this.y=i}Sn.prototype={constructor:Sn,scale:function(t){return t===1?this:new Sn(this.k*t,this.x,this.y)},translate:function(t,r){return t===0&r===0?this:new Sn(this.k,this.x+this.k*t,this.y+this.k*r)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pl=new Sn(1,0,0);Ip.prototype=Sn.prototype;function Ip(t){for(;!t.__zoom;)if(!(t=t.parentNode))return pl;return t.__zoom}function Sa(t){t.stopImmediatePropagation()}function ei(t){t.preventDefault(),t.stopImmediatePropagation()}function lw(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function uw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function sh(){return this.__zoom||pl}function aw(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function cw(){return navigator.maxTouchPoints||"ontouchstart"in this}function fw(t,r,i){var l=t.invertX(r[0][0])-i[0][0],u=t.invertX(r[1][0])-i[1][0],c=t.invertY(r[0][1])-i[0][1],f=t.invertY(r[1][1])-i[1][1];return t.translate(u>l?(l+u)/2:Math.min(0,l)||Math.max(0,u),f>c?(c+f)/2:Math.min(0,c)||Math.max(0,f))}function Tp(){var t=lw,r=uw,i=fw,l=aw,u=cw,c=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],h=250,p=Qs,y=cl("start","zoom","end"),g,v,m,w=500,S=150,P=0,C=10;function k(N){N.property("__zoom",sh).on("wheel.zoom",X,{passive:!1}).on("mousedown.zoom",G).on("dblclick.zoom",te).filter(u).on("touchstart.zoom",Z).on("touchmove.zoom",ee).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}k.transform=function(N,U,V,b){var A=N.selection?N.selection():N;A.property("__zoom",sh),N!==A?H(N,U,V,b):A.interrupt().each(function(){$(this,arguments).event(b).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},k.scaleBy=function(N,U,V,b){k.scaleTo(N,function(){var A=this.__zoom.k,L=typeof U=="function"?U.apply(this,arguments):U;return A*L},V,b)},k.scaleTo=function(N,U,V,b){k.transform(N,function(){var A=r.apply(this,arguments),L=this.__zoom,O=V==null?I(A):typeof V=="function"?V.apply(this,arguments):V,M=L.invert(O),j=typeof U=="function"?U.apply(this,arguments):U;return i(_(z(L,j),O,M),A,f)},V,b)},k.translateBy=function(N,U,V,b){k.transform(N,function(){return i(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof V=="function"?V.apply(this,arguments):V),r.apply(this,arguments),f)},null,b)},k.translateTo=function(N,U,V,b,A){k.transform(N,function(){var L=r.apply(this,arguments),O=this.__zoom,M=b==null?I(L):typeof b=="function"?b.apply(this,arguments):b;return i(pl.translate(M[0],M[1]).scale(O.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof V=="function"?-V.apply(this,arguments):-V),L,f)},b,A)};function z(N,U){return U=Math.max(c[0],Math.min(c[1],U)),U===N.k?N:new Sn(U,N.x,N.y)}function _(N,U,V){var b=U[0]-V[0]*N.k,A=U[1]-V[1]*N.k;return b===N.x&&A===N.y?N:new Sn(N.k,b,A)}function I(N){return[(+N[0][0]+ +N[1][0])/2,(+N[0][1]+ +N[1][1])/2]}function H(N,U,V,b){N.on("start.zoom",function(){$(this,arguments).event(b).start()}).on("interrupt.zoom end.zoom",function(){$(this,arguments).event(b).end()}).tween("zoom",function(){var A=this,L=arguments,O=$(A,L).event(b),M=r.apply(A,L),j=V==null?I(M):typeof V=="function"?V.apply(A,L):V,ne=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),re=A.__zoom,ae=typeof U=="function"?U.apply(A,L):U,fe=p(re.invert(j).concat(ne/re.k),ae.invert(j).concat(ne/ae.k));return function(ce){if(ce===1)ce=ae;else{var K=fe(ce),se=ne/K[2];ce=new Sn(se,j[0]-K[0]*se,j[1]-K[1]*se)}O.zoom(null,ce)}})}function $(N,U,V){return!V&&N.__zooming||new B(N,U)}function B(N,U){this.that=N,this.args=U,this.active=0,this.sourceEvent=null,this.extent=r.apply(N,U),this.taps=0}B.prototype={event:function(N){return N&&(this.sourceEvent=N),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(N,U){return this.mouse&&N!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&N!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&N!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(N){var U=Rt(this.that).datum();y.call(N,this.that,new sw(N,{sourceEvent:this.sourceEvent,target:k,transform:this.that.__zoom,dispatch:y}),U)}};function X(N,...U){if(!t.apply(this,arguments))return;var V=$(this,U).event(N),b=this.__zoom,A=Math.max(c[0],Math.min(c[1],b.k*Math.pow(2,l.apply(this,arguments)))),L=Qt(N);if(V.wheel)(V.mouse[0][0]!==L[0]||V.mouse[0][1]!==L[1])&&(V.mouse[1]=b.invert(V.mouse[0]=L)),clearTimeout(V.wheel);else{if(b.k===A)return;V.mouse=[L,b.invert(L)],qs(this),V.start()}ei(N),V.wheel=setTimeout(O,S),V.zoom("mouse",i(_(z(b,A),V.mouse[0],V.mouse[1]),V.extent,f));function O(){V.wheel=null,V.end()}}function G(N,...U){if(m||!t.apply(this,arguments))return;var V=N.currentTarget,b=$(this,U,!0).event(N),A=Rt(N.view).on("mousemove.zoom",j,!0).on("mouseup.zoom",ne,!0),L=Qt(N,V),O=N.clientX,M=N.clientY;hp(N.view),Sa(N),b.mouse=[L,this.__zoom.invert(L)],qs(this),b.start();function j(re){if(ei(re),!b.moved){var ae=re.clientX-O,fe=re.clientY-M;b.moved=ae*ae+fe*fe>P}b.event(re).zoom("mouse",i(_(b.that.__zoom,b.mouse[0]=Qt(re,V),b.mouse[1]),b.extent,f))}function ne(re){A.on("mousemove.zoom mouseup.zoom",null),pp(re.view,b.moved),ei(re),b.event(re).end()}}function te(N,...U){if(t.apply(this,arguments)){var V=this.__zoom,b=Qt(N.changedTouches?N.changedTouches[0]:N,this),A=V.invert(b),L=V.k*(N.shiftKey?.5:2),O=i(_(z(V,L),b,A),r.apply(this,U),f);ei(N),h>0?Rt(this).transition().duration(h).call(H,O,b,N):Rt(this).call(k.transform,O,b,N)}}function Z(N,...U){if(t.apply(this,arguments)){var V=N.touches,b=V.length,A=$(this,U,N.changedTouches.length===b).event(N),L,O,M,j;for(Sa(N),O=0;O`Seems like you have not used ${t==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:r,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${t} handle id: "${t==="source"?i:l}", edge id: ${r}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ai=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],jp=["Enter"," ","Escape"],zp={"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:t,x:r,y:i})=>`Moved selected node ${t}. New position, x: ${r}, y: ${i}`,"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"};var oo;(function(t){t.Strict="strict",t.Loose="loose"})(oo||(oo={}));var yr;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(yr||(yr={}));var ci;(function(t){t.Partial="partial",t.Full="full"})(ci||(ci={}));const Rp={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Xn;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Xn||(Xn={}));var il;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(il||(il={}));var Se;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(Se||(Se={}));const lh={[Se.Left]:Se.Right,[Se.Right]:Se.Left,[Se.Top]:Se.Bottom,[Se.Bottom]:Se.Top};function Lp(t){return t===null?null:t?"valid":"invalid"}const Ap=t=>!!t&&typeof t=="object"&&"id"in t&&"source"in t&&"target"in t,dw=t=>!!t&&typeof t=="object"&&"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),ec=t=>!!t&&typeof t=="object"&&"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),yi=(t,r=[0,0])=>{const{width:i,height:l}=en(t),u=t.origin??r,c=i*u[0],f=l*u[1];return{x:t.position.x-c,y:t.position.y-f}},hw=(t,r={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let i=!1;const l=t.reduce((u,c)=>{const f=typeof c=="string";let h=!r.nodeLookup&&!f?c:void 0;return r.nodeLookup&&(h=f?r.nodeLookup.get(c):ec(c)?c:r.nodeLookup.get(c.id)),h?(i=!0,gl(u,sl(h,r.nodeOrigin))):u},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return i?ml(l):{x:0,y:0,width:0,height:0}},vi=(t,r={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return t.forEach(u=>{(r.filter===void 0||r.filter(u))&&(i=gl(i,sl(u)),l=!0)}),l?ml(i):{x:0,y:0,width:0,height:0}},tc=(t,r,[i,l,u]=[0,0,1],c=!1,f=!1)=>{const h=(r.x-i)/u,p=(r.y-l)/u,y=r.width/u,g=r.height/u,v=[];for(const m of t.values()){const{measured:w,selectable:S=!0,hidden:P=!1}=m;if(f&&!S||P)continue;const C=w.width??m.width??m.initialWidth??0,k=w.height??m.height??m.initialHeight??0,{x:z,y:_}=m.internals.positionAbsolute,I=Fp(h,p,y,g,z,_,C,k),H=C*k,$=c&&I>0;(!m.internals.handleBounds||$||I>=H||m.dragging)&&v.push(m)}return v},pw=(t,r)=>{const i=new Set;return t.forEach(l=>{i.add(l.id)}),r.filter(l=>i.has(l.source)||i.has(l.target))};function gw(t,r){const i=new Map,l=r!=null&&r.nodes?new Set(r.nodes.map(u=>u.id)):null;return t.forEach(u=>{let c;if(r!=null&&r.includeHiddenNodes){const{width:f,height:h}=en(u);c=f>0&&h>0}else c=!!(u.measured.width&&u.measured.height&&!u.hidden);c&&(!l||l.has(u.id))&&i.set(u.id,u)}),i}async function mw({nodes:t,width:r,height:i,panZoom:l,minZoom:u,maxZoom:c},f){if(t.size===0)return!0;const h=gw(t,f),p=vi(h),y=rc(p,r,i,(f==null?void 0:f.minZoom)??u,(f==null?void 0:f.maxZoom)??c,(f==null?void 0:f.padding)??.1);return await l.setViewport(y,{duration:f==null?void 0:f.duration,ease:f==null?void 0:f.ease,interpolate:f==null?void 0:f.interpolate}),!0}function $p({nodeId:t,nextPosition:r,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:u,onError:c}){const f=i.get(t),h=f.parentId?i.get(f.parentId):void 0,{x:p,y}=h?h.internals.positionAbsolute:{x:0,y:0},g=f.origin??l;let v=f.extent||u;if(f.extent==="parent"&&!f.expandParent)if(!h)c==null||c("005",Zt.error005());else{const{width:w,height:S}=en(h);w&&S&&(v=[[p,y],[p+w,y+S]])}else h&&Sr(f.extent)&&(v=[[f.extent[0][0]+p,f.extent[0][1]+y],[f.extent[1][0]+p,f.extent[1][1]+y]]);const m=Sr(v)?wr(r,v,f.measured):r;return(f.measured.width===void 0||f.measured.height===void 0)&&(c==null||c("015",Zt.error015())),{position:{x:m.x-p+(f.measured.width??0)*g[0],y:m.y-y+(f.measured.height??0)*g[1]},positionAbsolute:m}}async function yw({nodesToRemove:t=[],edgesToRemove:r=[],nodes:i,edges:l,onBeforeDelete:u}){const c=new Set(t.map(m=>m.id)),f=[];for(const m of i){if(m.deletable===!1)continue;const w=c.has(m.id),S=!w&&m.parentId&&f.find(P=>P.id===m.parentId);(w||S)&&f.push(m)}const h=new Set(r.map(m=>m.id)),p=l.filter(m=>m.deletable!==!1),g=pw(f,p);for(const m of p)h.has(m.id)&&!g.find(S=>S.id===m.id)&&g.push(m);if(!u)return{edges:g,nodes:f};const v=await u({nodes:f,edges:g});return typeof v=="boolean"?v?{edges:g,nodes:f}:{edges:[],nodes:[]}:v}const io=(t,r=0,i=1)=>Math.min(Math.max(t,r),i),wr=(t={x:0,y:0},r,i)=>({x:io(t.x,r[0][0],r[1][0]-((i==null?void 0:i.width)??0)),y:io(t.y,r[0][1],r[1][1]-((i==null?void 0:i.height)??0))});function Dp(t,r,i){const{width:l,height:u}=en(i),{x:c,y:f}=i.internals.positionAbsolute;return wr(t,[[c,f],[c+l,f+u]],r)}const uh=(t,r,i)=>ti?-io(Math.abs(t-i),1,r)/r:0,nc=(t,r,i=15,l=40)=>{const u=uh(t.x,l,r.width-l)*i,c=uh(t.y,l,r.height-l)*i;return[u,c]},gl=(t,r)=>({x:Math.min(t.x,r.x),y:Math.min(t.y,r.y),x2:Math.max(t.x2,r.x2),y2:Math.max(t.y2,r.y2)}),Ha=({x:t,y:r,width:i,height:l})=>({x:t,y:r,x2:t+i,y2:r+l}),ml=({x:t,y:r,x2:i,y2:l})=>({x:t,y:r,width:i-t,height:l-r}),fi=(t,r=[0,0])=>{var u,c;const{x:i,y:l}=ec(t)?t.internals.positionAbsolute:yi(t,r);return{x:i,y:l,width:((u=t.measured)==null?void 0:u.width)??t.width??t.initialWidth??0,height:((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0}},sl=(t,r=[0,0])=>{var u,c;const{x:i,y:l}=ec(t)?t.internals.positionAbsolute:yi(t,r);return{x:i,y:l,x2:i+(((u=t.measured)==null?void 0:u.width)??t.width??t.initialWidth??0),y2:l+(((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0)}},Op=(t,r)=>ml(gl(Ha(t),Ha(r))),Fp=(t,r,i,l,u,c,f,h)=>{const p=Math.max(0,Math.min(t+i,u+f)-Math.max(t,u)),y=Math.max(0,Math.min(r+l,c+h)-Math.max(r,c));return Math.ceil(p*y)},ll=(t,r)=>Fp(t.x,t.y,t.width,t.height,r.x,r.y,r.width,r.height),ah=t=>Kt(t.width)&&Kt(t.height)&&Kt(t.x)&&Kt(t.y),Kt=t=>!isNaN(t)&&isFinite(t),Hp=(t,r)=>(i,l)=>{},xi=(t,r=[1,1])=>({x:r[0]*Math.round(t.x/r[0]),y:r[1]*Math.round(t.y/r[1])}),wi=({x:t,y:r},[i,l,u],c=!1,f=[1,1])=>{const h={x:(t-i)/u,y:(r-l)/u};return c?xi(h,f):h},so=({x:t,y:r},[i,l,u])=>({x:t*u+i,y:r*u+l});function Zr(t,r){if(typeof t=="number")return Math.floor((r-r/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const i=parseFloat(t);if(!Number.isNaN(i))return Math.floor(i)}if(typeof t=="string"&&t.endsWith("%")){const i=parseFloat(t);if(!Number.isNaN(i))return Math.floor(r*i*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function vw(t,r,i){if(typeof t=="string"||typeof t=="number"){const l=Zr(t,i),u=Zr(t,r);return{top:l,right:u,bottom:l,left:u,x:u*2,y:l*2}}if(typeof t=="object"){const l=Zr(t.top??t.y??0,i),u=Zr(t.bottom??t.y??0,i),c=Zr(t.left??t.x??0,r),f=Zr(t.right??t.x??0,r);return{top:l,right:f,bottom:u,left:c,x:c+f,y:l+u}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function xw(t,r,i,l,u,c){const{x:f,y:h}=so(t,[r,i,l]),{x:p,y}=so({x:t.x+t.width,y:t.y+t.height},[r,i,l]),g=u-p,v=c-y;return{left:Math.floor(f),top:Math.floor(h),right:Math.floor(g),bottom:Math.floor(v)}}const rc=(t,r,i,l,u,c)=>{const f=vw(c,r,i),h=(r-f.x)/t.width,p=(i-f.y)/t.height,y=Math.min(h,p),g=io(y,l,u),v=t.x+t.width/2,m=t.y+t.height/2,w=r/2-v*g,S=i/2-m*g,P=xw(t,w,S,g,r,i),C={left:Math.min(P.left-f.left,0),top:Math.min(P.top-f.top,0),right:Math.min(P.right-f.right,0),bottom:Math.min(P.bottom-f.bottom,0)};return{x:w-C.left+C.right,y:S-C.top+C.bottom,zoom:g}},di=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0};function Sr(t){return t!=null&&t!=="parent"}function en(t){var r,i;return{width:((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth??0,height:((i=t.measured)==null?void 0:i.height)??t.height??t.initialHeight??0}}function Vp(t){var r,i;return(((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth)!==void 0&&(((i=t.measured)==null?void 0:i.height)??t.height??t.initialHeight)!==void 0}function Bp(t,r={width:0,height:0},i,l,u){const c={...t},f=l.get(i);if(f){const h=f.origin||u;c.x+=f.internals.positionAbsolute.x-(r.width??0)*h[0],c.y+=f.internals.positionAbsolute.y-(r.height??0)*h[1]}return c}function ch(t,r){if(t.size!==r.size)return!1;for(const i of t)if(!r.has(i))return!1;return!0}function ww(){let t,r;return{promise:new Promise((l,u)=>{t=l,r=u}),resolve:t,reject:r}}function Sw(t){return{...zp,...t||{}}}function oi(t,{snapGrid:r=[0,0],snapToGrid:i=!1,transform:l,containerBounds:u}){const{x:c,y:f}=qt(t),h=wi({x:c-((u==null?void 0:u.left)??0),y:f-((u==null?void 0:u.top)??0)},l),{x:p,y}=i?xi(h,r):h;return{xSnapped:p,ySnapped:y,...h}}const oc=t=>({width:t.offsetWidth,height:t.offsetHeight}),bp=t=>{var r;return((r=t==null?void 0:t.getRootNode)==null?void 0:r.call(t))||(window==null?void 0:window.document)},_w=["INPUT","SELECT","TEXTAREA"];function Up(t){var l,u;const r=((u=(l=t.composedPath)==null?void 0:l.call(t))==null?void 0:u[0])||t.target;return(r==null?void 0:r.nodeType)!==1?!1:_w.includes(r.nodeName)||r.hasAttribute("contenteditable")||!!r.closest(".nokey")}const Wp=t=>"clientX"in t,qt=(t,r)=>{var c,f;const i=Wp(t),l=i?t.clientX:(c=t.touches)==null?void 0:c[0].clientX,u=i?t.clientY:(f=t.touches)==null?void 0:f[0].clientY;return{x:l-((r==null?void 0:r.left)??0),y:u-((r==null?void 0:r.top)??0)}},fh=(t,r,i,l,u)=>{const c=r.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(f=>{const h=f.getBoundingClientRect();return{id:f.getAttribute("data-handleid"),type:t,nodeId:u,position:f.getAttribute("data-handlepos"),x:(h.left-i.left)/l,y:(h.top-i.top)/l,...oc(f)}})};function Yp({sourceX:t,sourceY:r,targetX:i,targetY:l,sourceControlX:u,sourceControlY:c,targetControlX:f,targetControlY:h}){const p=t*.125+u*.375+f*.375+i*.125,y=r*.125+c*.375+h*.375+l*.125,g=Math.abs(p-t),v=Math.abs(y-r);return[p,y,g,v]}function bs(t,r){return t>=0?.5*t:r*25*Math.sqrt(-t)}function dh({pos:t,x1:r,y1:i,x2:l,y2:u,c}){switch(t){case Se.Left:return[r-bs(r-l,c),i];case Se.Right:return[r+bs(l-r,c),i];case Se.Top:return[r,i-bs(i-u,c)];case Se.Bottom:return[r,i+bs(u-i,c)]}}function Xp({sourceX:t,sourceY:r,sourcePosition:i=Se.Bottom,targetX:l,targetY:u,targetPosition:c=Se.Top,curvature:f=.25}){const[h,p]=dh({pos:i,x1:t,y1:r,x2:l,y2:u,c:f}),[y,g]=dh({pos:c,x1:l,y1:u,x2:t,y2:r,c:f}),[v,m,w,S]=Yp({sourceX:t,sourceY:r,targetX:l,targetY:u,sourceControlX:h,sourceControlY:p,targetControlX:y,targetControlY:g});return[`M${t},${r} C${h},${p} ${y},${g} ${l},${u}`,v,m,w,S]}function Qp({sourceX:t,sourceY:r,targetX:i,targetY:l}){const u=Math.abs(i-t)/2,c=i0}const Nw=({source:t,sourceHandle:r,target:i,targetHandle:l})=>`xy-edge__${t}${r||""}-${i}${l||""}`,Cw=(t,r)=>r.some(i=>i.source===t.source&&i.target===t.target&&(i.sourceHandle===t.sourceHandle||!i.sourceHandle&&!t.sourceHandle)&&(i.targetHandle===t.targetHandle||!i.targetHandle&&!t.targetHandle)),Mw=(t,r,i={})=>{var c;if(!t.source||!t.target)return(c=i.onError)==null||c.call(i,"006",Zt.error006()),r;const l=i.getEdgeId||Nw;let u;return Ap(t)?u={...t}:u={...t,id:l(t)},Cw(u,r)?r:(u.sourceHandle===null&&delete u.sourceHandle,u.targetHandle===null&&delete u.targetHandle,r.concat(u))};function Gp({sourceX:t,sourceY:r,targetX:i,targetY:l}){const[u,c,f,h]=Qp({sourceX:t,sourceY:r,targetX:i,targetY:l});return[`M ${t},${r}L ${i},${l}`,u,c,f,h]}const hh={[Se.Left]:{x:-1,y:0},[Se.Right]:{x:1,y:0},[Se.Top]:{x:0,y:-1},[Se.Bottom]:{x:0,y:1}},Pw=({source:t,sourcePosition:r=Se.Bottom,target:i})=>r===Se.Left||r===Se.Right?t.xMath.sqrt(Math.pow(r.x-t.x,2)+Math.pow(r.y-t.y,2));function Iw({source:t,sourcePosition:r=Se.Bottom,target:i,targetPosition:l=Se.Top,center:u,offset:c,stepPosition:f}){const h=hh[r],p=hh[l],y={x:t.x+h.x*c,y:t.y+h.y*c},g={x:i.x+p.x*c,y:i.y+p.y*c},v=Pw({source:y,sourcePosition:r,target:g}),m=v.x!==0?"x":"y",w=v[m];let S=[],P,C;const k={x:0,y:0},z={x:0,y:0},[,,_,I]=Qp({sourceX:t.x,sourceY:t.y,targetX:i.x,targetY:i.y});if(h[m]*p[m]===-1){m==="x"?(P=u.x??y.x+(g.x-y.x)*f,C=u.y??(y.y+g.y)/2):(P=u.x??(y.x+g.x)/2,C=u.y??y.y+(g.y-y.y)*f);const X=[{x:P,y:y.y},{x:P,y:g.y}],G=[{x:y.x,y:C},{x:g.x,y:C}];h[m]===w?S=m==="x"?X:G:S=m==="x"?G:X}else{const X=[{x:y.x,y:g.y}],G=[{x:g.x,y:y.y}];if(m==="x"?S=h.x===w?G:X:S=h.y===w?X:G,r===l){const N=Math.abs(t[m]-i[m]);if(N<=c){const U=Math.min(c-1,c-N);h[m]===w?k[m]=(y[m]>t[m]?-1:1)*U:z[m]=(g[m]>i[m]?-1:1)*U}}if(r!==l){const N=m==="x"?"y":"x",U=h[m]===p[N],V=y[N]>g[N],b=y[N]=J?(P=(te.x+Z.x)/2,C=S[0].y):(P=S[0].x,C=(te.y+Z.y)/2)}const H={x:y.x+k.x,y:y.y+k.y},$={x:g.x+z.x,y:g.y+z.y};return[[t,...H.x!==S[0].x||H.y!==S[0].y?[H]:[],...S,...$.x!==S[S.length-1].x||$.y!==S[S.length-1].y?[$]:[],i],P,C,_,I]}function Tw(t,r,i,l){const u=Math.min(ph(t,r)/2,ph(r,i)/2,l),{x:c,y:f}=r;if(t.x===c&&c===i.x||t.y===f&&f===i.y)return`L${c} ${f}`;if(t.y===f){const y=t.xi.id===r):t[0])||null}function Ba(t,r){return t?typeof t=="string"?t:`${r?`${r}__`:""}${Object.keys(t).sort().map(l=>`${l}=${t[l]}`).join("&")}`:""}function zw(t,{id:r,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:u}){const c=new Set;return t.reduce((f,h)=>([h.markerStart||l,h.markerEnd||u].forEach(p=>{if(p&&typeof p=="object"){const y=Ba(p,r);c.has(y)||(f.push({id:y,color:p.color||i,...p}),c.add(y))}}),f),[]).sort((f,h)=>f.id.localeCompare(h.id))}const Kp=1e3,Rw=10,ic={nodeOrigin:[0,0],nodeExtent:ai,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Lw={...ic,checkEquality:!0};function sc(t,r){const i={...t};for(const l in r)r[l]!==void 0&&(i[l]=r[l]);return i}function Aw(t,r,i){const l=sc(ic,i);for(const u of t.values())if(u.parentId)uc(u,t,r,l);else{const c=yi(u,l.nodeOrigin),f=Sr(u.extent)?u.extent:l.nodeExtent,h=wr(c,f,en(u));u.internals.positionAbsolute=h}}function $w(t,r){if(!t.handles)return t.measured?r==null?void 0:r.internals.handleBounds:void 0;const i=[],l=[];for(const u of t.handles){const c={id:u.id,width:u.width??1,height:u.height??1,nodeId:t.id,x:u.x,y:u.y,position:u.position,type:u.type};u.type==="source"?i.push(c):u.type==="target"&&l.push(c)}return{source:i,target:l}}function lc(t){return t==="manual"}function ba(t,r,i,l={}){var g,v;const u=sc(Lw,l),c={i:0},f=new Map(r),h=u!=null&&u.elevateNodesOnSelect&&!lc(u.zIndexMode)?Kp:0;let p=t.length>0,y=!1;r.clear(),i.clear();for(const m of t){let w=f.get(m.id);if(u.checkEquality&&m===(w==null?void 0:w.internals.userNode))r.set(m.id,w);else{const S=yi(m,u.nodeOrigin),P=Sr(m.extent)?m.extent:u.nodeExtent,C=wr(S,P,en(m));w={...u.defaults,...m,measured:{width:(g=m.measured)==null?void 0:g.width,height:(v=m.measured)==null?void 0:v.height},internals:{positionAbsolute:C,handleBounds:$w(m,w),z:qp(m,h,u.zIndexMode),userNode:m}},r.set(m.id,w)}(w.measured===void 0||w.measured.width===void 0||w.measured.height===void 0)&&!w.hidden&&(p=!1),m.parentId&&uc(w,r,i,l,c),y||(y=m.selected??!1)}return{nodesInitialized:p,hasSelectedNodes:y}}function Dw(t,r){if(!t.parentId)return;const i=r.get(t.parentId);i?i.set(t.id,t):r.set(t.parentId,new Map([[t.id,t]]))}function uc(t,r,i,l,u){const{elevateNodesOnSelect:c,nodeOrigin:f,nodeExtent:h,zIndexMode:p}=sc(ic,l),y=t.parentId,g=r.get(y);if(!g){console.warn(`Parent node ${y} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Dw(t,i),u&&!g.parentId&&g.internals.rootParentIndex===void 0&&p==="auto"&&(g.internals.rootParentIndex=++u.i,g.internals.z=g.internals.z+u.i*Rw),u&&g.internals.rootParentIndex!==void 0&&(u.i=g.internals.rootParentIndex);const v=c&&!lc(p)?Kp:0,{x:m,y:w,z:S}=Ow(t,g,f,h,v,p),{positionAbsolute:P}=t.internals,C=m!==P.x||w!==P.y;(C||S!==t.internals.z)&&r.set(t.id,{...t,internals:{...t.internals,positionAbsolute:C?{x:m,y:w}:P,z:S}})}function qp(t,r,i){const l=Kt(t.zIndex)?t.zIndex:0;return lc(i)?l:l+(t.selected?r:0)}function Ow(t,r,i,l,u,c){const{x:f,y:h}=r.internals.positionAbsolute,p=en(t),y=yi(t,i),g=Sr(t.extent)?wr(y,t.extent,p):y;let v=wr({x:f+g.x,y:h+g.y},l,p);t.extent==="parent"&&(v=Dp(v,p,r));const m=qp(t,u,c),w=r.internals.z??0;return{x:v.x,y:v.y,z:w>=m?w+1:m}}function ac(t,r,i,l=[0,0]){var f;const u=[],c=new Map;for(const h of t){const p=r.get(h.parentId);if(!p)continue;const y=((f=c.get(h.parentId))==null?void 0:f.expandedRect)??fi(p),g=Op(y,h.rect);c.set(h.parentId,{expandedRect:g,parent:p})}return c.size>0&&c.forEach(({expandedRect:h,parent:p},y)=>{var _;const g=p.internals.positionAbsolute,v=en(p),m=p.origin??l,w=h.x0||S>0||k||z)&&(u.push({id:y,type:"position",position:{x:p.position.x-w+k,y:p.position.y-S+z}}),(_=i.get(y))==null||_.forEach(I=>{t.some(H=>H.id===I.id)||u.push({id:I.id,type:"position",position:{x:I.position.x+w,y:I.position.y+S}})})),(v.width0){const w=ac(m,r,i,u);y.push(...w)}return{changes:y,updatedInternals:p}}async function Hw({delta:t,panZoom:r,transform:i,translateExtent:l,width:u,height:c}){if(!r||!t.x&&!t.y)return!1;const f=await r.setViewportConstrained({x:i[0]+t.x,y:i[1]+t.y,zoom:i[2]},[[0,0],[u,c]],l);return!!f&&(f.x!==i[0]||f.y!==i[1]||f.k!==i[2])}function vh(t,r,i,l,u,c){let f=u;const h=l.get(f)||new Map;l.set(f,h.set(i,r)),f=`${u}-${t}`;const p=l.get(f)||new Map;if(l.set(f,p.set(i,r)),c){f=`${u}-${t}-${c}`;const y=l.get(f)||new Map;l.set(f,y.set(i,r))}}function Zp(t,r,i){t.clear(),r.clear();for(const l of i){const{source:u,target:c,sourceHandle:f=null,targetHandle:h=null}=l,p={edgeId:l.id,source:u,target:c,sourceHandle:f,targetHandle:h},y=`${u}-${f}--${c}-${h}`,g=`${c}-${h}--${u}-${f}`;vh("source",p,g,t,u,f),vh("target",p,y,t,c,h),r.set(l.id,l)}}function Jp(t,r){if(!t.parentId)return!1;const i=r.get(t.parentId);return i?i.selected?!0:Jp(i,r):!1}function xh(t,r,i){var u;let l=t;do{if((u=l==null?void 0:l.matches)!=null&&u.call(l,r))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function Vw(t,r,i,l){const u=new Map;for(const[c,f]of t)if((f.selected||f.id===l)&&(!f.parentId||!Jp(f,t))&&(f.draggable||r&&typeof f.draggable>"u")){const h=t.get(c);h&&u.set(c,{id:c,position:h.position||{x:0,y:0},distance:{x:i.x-h.internals.positionAbsolute.x,y:i.y-h.internals.positionAbsolute.y},extent:h.extent,parentId:h.parentId,origin:h.origin,expandParent:h.expandParent,internals:{positionAbsolute:h.internals.positionAbsolute||{x:0,y:0}},measured:{width:h.measured.width??0,height:h.measured.height??0}})}return u}function _a({nodeId:t,dragItems:r,nodeLookup:i,dragging:l=!0}){var f,h,p;const u=[];for(const[y,g]of r){const v=(f=i.get(y))==null?void 0:f.internals.userNode;v&&u.push({...v,position:g.position,dragging:l})}if(!t)return[u[0],u];const c=(h=i.get(t))==null?void 0:h.internals.userNode;return[c?{...c,position:((p=r.get(t))==null?void 0:p.position)||c.position,dragging:l}:u[0],u]}function Bw({dragItems:t,snapGrid:r,x:i,y:l}){const u=t.values().next().value;if(!u)return null;const c={x:i-u.distance.x,y:l-u.distance.y},f=xi(c,r);return{x:f.x-c.x,y:f.y-c.y}}function bw({onNodeMouseDown:t,getStoreItems:r,onDragStart:i,onDrag:l,onDragStop:u}){let c={x:null,y:null},f=0,h=new Map,p=!1,y={x:0,y:0},g=null,v=!1,m=null,w=!1,S=!1,P=null;function C({noDragClassName:z,handleSelector:_,domNode:I,isSelectable:H,nodeId:$,nodeClickDistance:B=0}){m=Rt(I);function X({x:ee,y:J}){const{nodeLookup:N,nodeExtent:U,snapGrid:V,snapToGrid:b,nodeOrigin:A,onNodeDrag:L,onSelectionDrag:O,onError:M,updateNodePositions:j}=r();c={x:ee,y:J};let ne=!1;const re=h.size>1,ae=re&&U?Ha(vi(h)):null,fe=re&&b?Bw({dragItems:h,snapGrid:V,x:ee,y:J}):null;for(const[ce,K]of h){if(!N.has(ce))continue;let se={x:ee-K.distance.x,y:J-K.distance.y};b&&(se=fe?{x:Math.round(se.x+fe.x),y:Math.round(se.y+fe.y)}:xi(se,V));let pe=null;if(re&&U&&!K.extent&&ae){const{positionAbsolute:me}=K.internals,Ne=me.x-ae.x+U[0][0],Pe=me.x+K.measured.width-ae.x2+U[1][0],Ie=me.y-ae.y+U[0][1],Re=me.y+K.measured.height-ae.y2+U[1][1];pe=[[Ne,Ie],[Pe,Re]]}const{position:we,positionAbsolute:ve}=$p({nodeId:ce,nextPosition:se,nodeLookup:N,nodeExtent:pe||U,nodeOrigin:A,onError:M});ne=ne||K.position.x!==we.x||K.position.y!==we.y,K.position=we,K.internals.positionAbsolute=ve}if(S=S||ne,!!ne&&(j(h,!0),P&&(l||L||!$&&O))){const[ce,K]=_a({nodeId:$,dragItems:h,nodeLookup:N});l==null||l(P,h,ce,K),L==null||L(P,ce,K),$||O==null||O(P,K)}}async function G(){if(!g)return;const{transform:ee,panBy:J,autoPanSpeed:N,autoPanOnNodeDrag:U}=r();if(!U){p=!1,cancelAnimationFrame(f);return}const[V,b]=nc(y,g,N);(V!==0||b!==0)&&(c.x=(c.x??0)-V/ee[2],c.y=(c.y??0)-b/ee[2],await J({x:V,y:b})&&X(c)),f=requestAnimationFrame(G)}function te(ee){var re;const{nodeLookup:J,multiSelectionActive:N,nodesDraggable:U,transform:V,snapGrid:b,snapToGrid:A,selectNodesOnDrag:L,onNodeDragStart:O,onSelectionDragStart:M,unselectNodesAndEdges:j}=r();v=!0,(!L||!H)&&!N&&$&&((re=J.get($))!=null&&re.selected||j()),H&&L&&$&&(t==null||t($));const ne=oi(ee.sourceEvent,{transform:V,snapGrid:b,snapToGrid:A,containerBounds:g});if(c=ne,h=Vw(J,U,ne,$),h.size>0&&(i||O||!$&&M)){const[ae,fe]=_a({nodeId:$,dragItems:h,nodeLookup:J});i==null||i(ee.sourceEvent,h,ae,fe),O==null||O(ee.sourceEvent,ae,fe),$||M==null||M(ee.sourceEvent,fe)}}const Z=gp().clickDistance(B).on("start",ee=>{const{domNode:J,nodeDragThreshold:N,transform:U,snapGrid:V,snapToGrid:b}=r();g=(J==null?void 0:J.getBoundingClientRect())||null,w=!1,S=!1,P=ee.sourceEvent,N===0&&te(ee),c=oi(ee.sourceEvent,{transform:U,snapGrid:V,snapToGrid:b,containerBounds:g}),y=qt(ee.sourceEvent,g)}).on("drag",ee=>{const{autoPanOnNodeDrag:J,transform:N,snapGrid:U,snapToGrid:V,nodeDragThreshold:b,nodeLookup:A}=r(),L=oi(ee.sourceEvent,{transform:N,snapGrid:U,snapToGrid:V,containerBounds:g});if(P=ee.sourceEvent,(ee.sourceEvent.type==="touchmove"&&ee.sourceEvent.touches.length>1||$&&!A.has($))&&(w=!0),!w){if(!p&&J&&v&&(p=!0,G()),!v){const O=qt(ee.sourceEvent,g),M=O.x-y.x,j=O.y-y.y;Math.sqrt(M*M+j*j)>b&&te(ee)}(c.x!==L.xSnapped||c.y!==L.ySnapped)&&h&&v&&(y=qt(ee.sourceEvent,g),X(L))}}).on("end",ee=>{if(!v||w){w&&h.size>0&&r().updateNodePositions(h,!1);return}if(p=!1,v=!1,cancelAnimationFrame(f),h.size>0){const{nodeLookup:J,updateNodePositions:N,onNodeDragStop:U,onSelectionDragStop:V}=r();if(S&&(N(h,!1),S=!1),u||U||!$&&V){const[b,A]=_a({nodeId:$,dragItems:h,nodeLookup:J,dragging:!1});u==null||u(ee.sourceEvent,h,b,A),U==null||U(ee.sourceEvent,b,A),$||V==null||V(ee.sourceEvent,A)}}}).filter(ee=>{const J=ee.target;return!ee.button&&(!z||!xh(J,`.${z}`,I))&&(!_||xh(J,_,I))});m.call(Z)}function k(){m==null||m.on(".drag",null)}return{update:C,destroy:k}}function Uw(t,r,i){const l=[],u={x:t.x-i,y:t.y-i,width:i*2,height:i*2};for(const c of r.values())ll(u,fi(c))>0&&l.push(c);return l}const Ww=250;function Yw(t,r,i,l){var h,p;let u=[],c=1/0;const f=Uw(t,i,r+Ww);for(const y of f){const g=[...((h=y.internals.handleBounds)==null?void 0:h.source)??[],...((p=y.internals.handleBounds)==null?void 0:p.target)??[]];for(const v of g){if(l.nodeId===v.nodeId&&l.type===v.type&&l.id===v.id)continue;const{x:m,y:w}=_r(y,v,v.position,!0),S=Math.sqrt(Math.pow(m-t.x,2)+Math.pow(w-t.y,2));S>r||(S1){const y=l.type==="source"?"target":"source";return u.find(g=>g.type===y)??u[0]}return u[0]}function eg(t,r,i,l,u,c=!1){var y,g,v;const f=l.get(t);if(!f)return null;const h=u==="strict"?(y=f.internals.handleBounds)==null?void 0:y[r]:[...((g=f.internals.handleBounds)==null?void 0:g.source)??[],...((v=f.internals.handleBounds)==null?void 0:v.target)??[]],p=(i?h==null?void 0:h.find(m=>m.id===i):h==null?void 0:h[0])??null;return p&&c?{...p,..._r(f,p,p.position,!0)}:p}function tg(t,r){return t||(r!=null&&r.classList.contains("target")?"target":r!=null&&r.classList.contains("source")?"source":null)}function Xw(t,r){let i=null;return r?i=!0:t&&!r&&(i=!1),i}const ng=()=>!0;function Qw(t,{connectionMode:r,connectionRadius:i,handleId:l,nodeId:u,edgeUpdaterType:c,isTarget:f,domNode:h,nodeLookup:p,lib:y,autoPanOnConnect:g,flowId:v,panBy:m,cancelConnection:w,onConnectStart:S,onConnect:P,onConnectEnd:C,isValidConnection:k=ng,onReconnectEnd:z,updateConnection:_,getTransform:I,getFromHandle:H,autoPanSpeed:$,dragThreshold:B=1,handleDomNode:X}){const G=bp(t.target);let te=0,Z;const{x:ee,y:J}=qt(t),N=tg(c,X),U=h==null?void 0:h.getBoundingClientRect();let V=!1;if(!U||!N)return;const b=eg(u,N,l,p,r);if(!b)return;let A=qt(t,U),L=!1,O=null,M=!1,j=null;function ne(){if(!g||!U)return;const[we,ve]=nc(A,U,$);m({x:we,y:ve}),te=requestAnimationFrame(ne)}const re={...b,nodeId:u,type:N,position:b.position},ae=p.get(u);let ce={inProgress:!0,isValid:null,from:_r(ae,re,Se.Left,!0),fromHandle:re,fromPosition:re.position,fromNode:ae,to:A,toHandle:null,toPosition:lh[re.position],toNode:null,pointer:A};function K(){V=!0,_(ce),S==null||S(t,{nodeId:u,handleId:l,handleType:N})}B===0&&K();function se(we){if(!V){const{x:Re,y:Ze}=qt(we),nt=Re-ee,Qe=Ze-J;if(!(nt*nt+Qe*Qe>B*B))return;K()}if(!H()||!re){pe(we);return}const ve=I();A=qt(we,U),Z=Yw(wi(A,ve,!1,[1,1]),i,p,re),L||(ne(),L=!0);const me=rg(we,{handle:Z,connectionMode:r,fromNodeId:u,fromHandleId:l,fromType:f?"target":"source",isValidConnection:k,doc:G,lib:y,flowId:v,nodeLookup:p});j=me.handleDomNode,O=me.connection,M=Xw(!!Z,me.isValid);const Ne=p.get(u),Pe=Ne?_r(Ne,re,Se.Left,!0):ce.from,Ie={...ce,from:Pe,isValid:M,to:me.toHandle&&M?so({x:me.toHandle.x,y:me.toHandle.y},ve):A,toHandle:me.toHandle,toPosition:M&&me.toHandle?me.toHandle.position:lh[re.position],toNode:me.toHandle?p.get(me.toHandle.nodeId):null,pointer:A};_(Ie),ce=Ie}function pe(we){if(!("touches"in we&&we.touches.length>0)){if(V){(Z||j)&&O&&M&&(P==null||P(O));const{inProgress:ve,...me}=ce,Ne={...me,toPosition:ce.toHandle?ce.toPosition:null};C==null||C(we,Ne),c&&(z==null||z(we,Ne))}w(),cancelAnimationFrame(te),L=!1,M=!1,O=null,j=null,G.removeEventListener("mousemove",se),G.removeEventListener("mouseup",pe),G.removeEventListener("touchmove",se),G.removeEventListener("touchend",pe)}}G.addEventListener("mousemove",se),G.addEventListener("mouseup",pe),G.addEventListener("touchmove",se),G.addEventListener("touchend",pe)}function rg(t,{handle:r,connectionMode:i,fromNodeId:l,fromHandleId:u,fromType:c,doc:f,lib:h,flowId:p,isValidConnection:y=ng,nodeLookup:g}){const v=c==="target",m=r?f.querySelector(`.${h}-flow__handle[data-id="${p}-${r==null?void 0:r.nodeId}-${r==null?void 0:r.id}-${r==null?void 0:r.type}"]`):null,{x:w,y:S}=qt(t),P=f.elementFromPoint(w,S),C=P!=null&&P.classList.contains(`${h}-flow__handle`)?P:m,k={handleDomNode:C,isValid:!1,connection:null,toHandle:null};if(C){const z=tg(void 0,C),_=C.getAttribute("data-nodeid"),I=C.getAttribute("data-handleid"),H=C.classList.contains("connectable"),$=C.classList.contains("connectableend");if(!_||!z)return k;const B={source:v?_:l,sourceHandle:v?I:u,target:v?l:_,targetHandle:v?u:I};k.connection=B;const G=H&&$&&(i===oo.Strict?v&&z==="source"||!v&&z==="target":_!==l||I!==u);k.isValid=G&&y(B),k.toHandle=eg(_,z,I,g,i,!0)}return k}const Ua={onPointerDown:Qw,isValid:rg};function Gw({domNode:t,panZoom:r,getTransform:i,getViewScale:l}){const u=Rt(t);function c({translateExtent:h,width:p,height:y,zoomStep:g=1,pannable:v=!0,zoomable:m=!0,inversePan:w=!1}){const S=_=>{if(_.sourceEvent.type!=="wheel"||!r)return;const I=i(),H=_.sourceEvent.ctrlKey&&di()?10:1,$=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*g,B=I[2]*Math.pow(2,$*H);r.scaleTo(B)};let P=[0,0];const C=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(P=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},k=_=>{const I=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!r)return;const H=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],$=[H[0]-P[0],H[1]-P[1]];P=H;const B=l()*Math.max(I[2],Math.log(I[2]))*(w?-1:1),X={x:I[0]-$[0]*B,y:I[1]-$[1]*B},G=[[0,0],[p,y]];r.setViewportConstrained({x:X.x,y:X.y,zoom:I[2]},G,h)},z=Tp().on("start",C).on("zoom",v?k:null).on("zoom.wheel",m?S:null);u.call(z,{})}function f(){u.on("zoom",null)}return{update:c,destroy:f,pointer:Qt}}const yl=t=>({x:t.x,y:t.y,zoom:t.k}),ka=({x:t,y:r,zoom:i})=>pl.translate(t,r).scale(i),Yn=(t,r)=>t.target.closest(`.${r}`),og=(t,r)=>r===2&&Array.isArray(t)&&t.includes(2),Kw=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Ea=(t,r=0,i=Kw,l=()=>{})=>{const u=typeof r=="number"&&r>0;return u||l(),u?t.transition().duration(r).ease(i).on("end",l):t},ig=t=>{const r=t.ctrlKey&&di()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*r};function qw({zoomPanValues:t,noWheelClassName:r,d3Selection:i,d3Zoom:l,panOnScrollMode:u,panOnScrollSpeed:c,zoomOnPinch:f,onPanZoomStart:h,onPanZoom:p,onPanZoomEnd:y}){return g=>{if(Yn(g,r))return g.ctrlKey&&g.preventDefault(),!1;g.preventDefault(),g.stopImmediatePropagation();const v=i.property("__zoom").k||1;if(g.ctrlKey&&f){const C=Qt(g),k=ig(g),z=v*Math.pow(2,k);l.scaleTo(i,z,C,g);return}const m=g.deltaMode===1?20:1;let w=u===yr.Vertical?0:g.deltaX*m,S=u===yr.Horizontal?0:g.deltaY*m;!di()&&g.shiftKey&&u!==yr.Vertical&&(w=g.deltaY*m,S=0),l.translateBy(i,-(w/v)*c,-(S/v)*c,{internal:!0});const P=yl(i.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?p==null||p(g,P):(t.isPanScrolling=!0,h==null||h(g,P)),t.panScrollTimeout=setTimeout(()=>{y==null||y(g,P),t.isPanScrolling=!1},150)}}function Zw({noWheelClassName:t,preventScrolling:r,d3ZoomHandler:i}){return function(l,u){const c=l.type==="wheel",f=!r&&c&&!l.ctrlKey,h=Yn(l,t);if(l.ctrlKey&&c&&h&&l.preventDefault(),f||h)return null;l.preventDefault(),i.call(this,l,u)}}function Jw({zoomPanValues:t,onDraggingChange:r,onPanZoomStart:i}){return l=>{var c,f,h;if((c=l.sourceEvent)!=null&&c.internal)return;const u=yl(l.transform);t.mouseButton=((f=l.sourceEvent)==null?void 0:f.button)||0,t.isZoomingOrPanning=!0,t.prevViewport=u,((h=l.sourceEvent)==null?void 0:h.type)==="mousedown"&&r(!0),i&&(i==null||i(l.sourceEvent,u))}}function e1({zoomPanValues:t,panOnDrag:r,onPaneContextMenu:i,onTransformChange:l,onPanZoom:u}){return c=>{var f,h;t.usedRightMouseButton=!!(i&&og(r,t.mouseButton??0)),(f=c.sourceEvent)!=null&&f.sync||l([c.transform.x,c.transform.y,c.transform.k]),u&&!((h=c.sourceEvent)!=null&&h.internal)&&(u==null||u(c.sourceEvent,yl(c.transform)))}}function t1({zoomPanValues:t,panOnDrag:r,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:u,onPaneContextMenu:c}){return f=>{var h;if(!((h=f.sourceEvent)!=null&&h.internal)&&(t.isZoomingOrPanning=!1,c&&og(r,t.mouseButton??0)&&!t.usedRightMouseButton&&f.sourceEvent&&c(f.sourceEvent),t.usedRightMouseButton=!1,l(!1),u)){const p=yl(f.transform);t.prevViewport=p,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{u==null||u(f.sourceEvent,p)},i?150:0)}}}function n1({panActivationKeyPressed:t,zoomActivationKeyPressed:r,zoomOnScroll:i,zoomOnPinch:l,panOnDrag:u,panOnScroll:c,zoomOnDoubleClick:f,userSelectionActive:h,noWheelClassName:p,noPanClassName:y,lib:g,connectionInProgress:v}){return m=>{var k;const w=r||i,S=l&&m.ctrlKey,P=m.type==="wheel";if(m.button===1&&m.type==="mousedown"&&(Yn(m,`${g}-flow__node`)||Yn(m,`${g}-flow__edge`)||Yn(m,`${g}-flow__selection`)||Yn(m,`${g}-flow__nodesselection`)))return!0;if(!u&&!w&&!c&&!f&&!l||h||v&&!P||Yn(m,p)&&P||Yn(m,y)&&(!P||c&&P&&!r)||!l&&m.ctrlKey&&P)return!1;if(!l&&m.type==="touchstart"&&((k=m.touches)==null?void 0:k.length)>1)return m.preventDefault(),!1;if(!w&&!c&&!S&&P||!u&&(m.type==="mousedown"||m.type==="touchstart")||Array.isArray(u)&&!u.includes(m.button)&&m.type==="mousedown")return!1;const C=Array.isArray(u)&&u.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||P||t)&&C}}function r1({domNode:t,minZoom:r,maxZoom:i,translateExtent:l,viewport:u,onPanZoom:c,onPanZoomStart:f,onPanZoomEnd:h,onDraggingChange:p}){const y={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=t.getBoundingClientRect();let v=[[0,0],[g.width,g.height]];const m=typeof ResizeObserver<"u"?new ResizeObserver(J=>{const N=J[0];N&&(v=[[0,0],[N.contentRect.width,N.contentRect.height]])}):null;m==null||m.observe(t);const w=Tp().extent(()=>v).scaleExtent([r,i]).translateExtent(l),S=Rt(t).call(w);I({x:u.x,y:u.y,zoom:io(u.zoom,r,i)},[[0,0],[g.width,g.height]],l);const P=S.on("wheel.zoom"),C=S.on("dblclick.zoom");w.wheelDelta(ig);async function k(J,N){return S?new Promise(U=>{w==null||w.interpolate((N==null?void 0:N.interpolate)==="linear"?ri:Qs).transform(Ea(S,N==null?void 0:N.duration,N==null?void 0:N.ease,()=>U(!0)),J)}):!1}function z({noWheelClassName:J,noPanClassName:N,onPaneContextMenu:U,userSelectionActive:V,panOnScroll:b,panOnDrag:A,panOnScrollMode:L,panOnScrollSpeed:O,preventScrolling:M,zoomOnPinch:j,zoomOnScroll:ne,zoomOnDoubleClick:re,panActivationKeyPressed:ae=!1,zoomActivationKeyPressed:fe,lib:ce,onTransformChange:K,connectionInProgress:se,paneClickDistance:pe,selectionOnDrag:we}){V&&!y.isZoomingOrPanning&&_();const ve=b&&!fe&&!V;w.clickDistance(we?1/0:!Kt(pe)||pe<0?0:pe);const me=ve?qw({zoomPanValues:y,noWheelClassName:J,d3Selection:S,d3Zoom:w,panOnScrollMode:L,panOnScrollSpeed:O,zoomOnPinch:j,onPanZoomStart:f,onPanZoom:c,onPanZoomEnd:h}):Zw({noWheelClassName:J,preventScrolling:M,d3ZoomHandler:P});S.on("wheel.zoom",me,{passive:!1});const Ne=Jw({zoomPanValues:y,onDraggingChange:p,onPanZoomStart:f});w.on("start",Ne);const Pe=e1({zoomPanValues:y,panOnDrag:A,onPaneContextMenu:!!U,onPanZoom:c,onTransformChange:K});w.on("zoom",Pe);const Ie=t1({zoomPanValues:y,panOnDrag:A,panOnScroll:b,onPaneContextMenu:U,onPanZoomEnd:h,onDraggingChange:p});w.on("end",Ie);const Re=n1({panActivationKeyPressed:ae,zoomActivationKeyPressed:fe,panOnDrag:A,zoomOnScroll:ne,panOnScroll:b,zoomOnDoubleClick:re,zoomOnPinch:j,userSelectionActive:V,noPanClassName:N,noWheelClassName:J,lib:ce,connectionInProgress:se});w.filter(Re),re?S.on("dblclick.zoom",C):S.on("dblclick.zoom",null)}function _(){w.on("zoom",null)}async function I(J,N,U){const V=ka(J),b=w==null?void 0:w.constrain()(V,N,U);return b&&await k(b),b}async function H(J,N){const U=ka(J);return await k(U,N),U}function $(J){if(S){const N=ka(J),U=S.property("__zoom");(U.k!==J.zoom||U.x!==J.x||U.y!==J.y)&&(w==null||w.transform(S,N,null,{sync:!0}))}}function B(){const J=S?Ip(S.node()):{x:0,y:0,k:1};return{x:J.x,y:J.y,zoom:J.k}}async function X(J,N){return S?new Promise(U=>{w==null||w.interpolate((N==null?void 0:N.interpolate)==="linear"?ri:Qs).scaleTo(Ea(S,N==null?void 0:N.duration,N==null?void 0:N.ease,()=>U(!0)),J)}):!1}async function G(J,N){return S?new Promise(U=>{w==null||w.interpolate((N==null?void 0:N.interpolate)==="linear"?ri:Qs).scaleBy(Ea(S,N==null?void 0:N.duration,N==null?void 0:N.ease,()=>U(!0)),J)}):!1}function te(J){w==null||w.scaleExtent(J)}function Z(J){w==null||w.translateExtent(J)}function ee(J){const N=!Kt(J)||J<0?0:J;w==null||w.clickDistance(N)}return{update:z,destroy:_,setViewport:H,setViewportConstrained:I,getViewport:B,scaleTo:X,scaleBy:G,setScaleExtent:te,setTranslateExtent:Z,syncViewport:$,setClickDistance:ee}}var lo;(function(t){t.Line="line",t.Handle="handle"})(lo||(lo={}));function o1({width:t,prevWidth:r,height:i,prevHeight:l,affectsX:u,affectsY:c}){const f=t-r,h=i-l,p=[f>0?1:f<0?-1:0,h>0?1:h<0?-1:0];return f&&u&&(p[0]=p[0]*-1),h&&c&&(p[1]=p[1]*-1),p}function wh(t){const r=t.includes("right")||t.includes("left"),i=t.includes("bottom")||t.includes("top"),l=t.includes("left"),u=t.includes("top");return{isHorizontal:r,isVertical:i,affectsX:l,affectsY:u}}function Un(t,r){return Math.max(0,r-t)}function Wn(t,r){return Math.max(0,t-r)}function Us(t,r,i){return Math.max(0,r-t,t-i)}function Sh(t,r){return t?!r:r}function i1(t,r,i,l,u,c,f,h){let{affectsX:p,affectsY:y}=r;const{isHorizontal:g,isVertical:v}=r,m=g&&v,{xSnapped:w,ySnapped:S}=i,{minWidth:P,maxWidth:C,minHeight:k,maxHeight:z}=l,{x:_,y:I,width:H,height:$,aspectRatio:B}=t;let X=Math.floor(g?w-t.pointerX:0),G=Math.floor(v?S-t.pointerY:0);const te=H+(p?-X:X),Z=$+(y?-G:G),ee=-c[0]*H,J=-c[1]*$;let N=Us(te,P,C),U=Us(Z,k,z);if(f){let A=0,L=0;p&&X<0?A=Un(_+X+ee,f[0][0]):!p&&X>0&&(A=Wn(_+te+ee,f[1][0])),y&&G<0?L=Un(I+G+J,f[0][1]):!y&&G>0&&(L=Wn(I+Z+J,f[1][1])),N=Math.max(N,A),U=Math.max(U,L)}if(h){let A=0,L=0;p&&X>0?A=Wn(_+X,h[0][0]):!p&&X<0&&(A=Un(_+te,h[1][0])),y&&G>0?L=Wn(I+G,h[0][1]):!y&&G<0&&(L=Un(I+Z,h[1][1])),N=Math.max(N,A),U=Math.max(U,L)}if(u){if(g){const A=Us(te/B,k,z)*B;if(N=Math.max(N,A),f){let L=0;!p&&!y||p&&!y&&m?L=Wn(I+J+te/B,f[1][1])*B:L=Un(I+J+(p?X:-X)/B,f[0][1])*B,N=Math.max(N,L)}if(h){let L=0;!p&&!y||p&&!y&&m?L=Un(I+te/B,h[1][1])*B:L=Wn(I+(p?X:-X)/B,h[0][1])*B,N=Math.max(N,L)}}if(v){const A=Us(Z*B,P,C)/B;if(U=Math.max(U,A),f){let L=0;!p&&!y||y&&!p&&m?L=Wn(_+Z*B+ee,f[1][0])/B:L=Un(_+(y?G:-G)*B+ee,f[0][0])/B,U=Math.max(U,L)}if(h){let L=0;!p&&!y||y&&!p&&m?L=Un(_+Z*B,h[1][0])/B:L=Wn(_+(y?G:-G)*B,h[0][0])/B,U=Math.max(U,L)}}}G=G+(G<0?U:-U),X=X+(X<0?N:-N),u&&(m?te>Z*B?G=(Sh(p,y)?-X:X)/B:X=(Sh(p,y)?-G:G)*B:g?(G=X/B,y=p):(X=G*B,p=y));const V=p?_+X:_,b=y?I+G:I;return{width:H+(p?-X:X),height:$+(y?-G:G),x:c[0]*X*(p?-1:1)+V,y:c[1]*G*(y?-1:1)+b}}const sg={width:0,height:0,x:0,y:0},s1={...sg,pointerX:0,pointerY:0,aspectRatio:1};function l1(t,r,i){const l=r.position.x+t.position.x,u=r.position.y+t.position.y,c=t.measured.width??0,f=t.measured.height??0,h=i[0]*c,p=i[1]*f;return[[l-h,u-p],[l+c-h,u+f-p]]}function u1({domNode:t,nodeId:r,getStoreItems:i,onChange:l,onEnd:u}){const c=Rt(t);let f={controlDirection:wh("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function h({controlPosition:y,boundaries:g,keepAspectRatio:v,resizeDirection:m,onResizeStart:w,onResize:S,onResizeEnd:P,shouldResize:C}){let k={...sg},z={...s1};f={boundaries:g,resizeDirection:m,keepAspectRatio:v,controlDirection:wh(y)};let _,I=null,H=[],$,B,X,G=!1;const te=gp().on("start",Z=>{const{nodeLookup:ee,transform:J,snapGrid:N,snapToGrid:U,nodeOrigin:V,paneDomNode:b}=i();if(_=ee.get(r),!_)return;I=(b==null?void 0:b.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:L}=oi(Z.sourceEvent,{transform:J,snapGrid:N,snapToGrid:U,containerBounds:I});k={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...k,pointerX:A,pointerY:L,aspectRatio:k.width/k.height},$=void 0,B=Sr(_.extent)?_.extent:void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&($=ee.get(_.parentId)),$&&_.extent==="parent"&&(B=[[0,0],[$.measured.width,$.measured.height]]),H=[],X=void 0;for(const[O,M]of ee)if(M.parentId===r&&(H.push({id:O,position:{...M.position},extent:M.extent}),M.extent==="parent"||M.expandParent)){const j=l1(M,_,M.origin??V);X?X=[[Math.min(j[0][0],X[0][0]),Math.min(j[0][1],X[0][1])],[Math.max(j[1][0],X[1][0]),Math.max(j[1][1],X[1][1])]]:X=j}w==null||w(Z,{...k})}).on("drag",Z=>{const{transform:ee,snapGrid:J,snapToGrid:N,nodeOrigin:U}=i(),V=oi(Z.sourceEvent,{transform:ee,snapGrid:J,snapToGrid:N,containerBounds:I}),b=[];if(!_)return;const{x:A,y:L,width:O,height:M}=k,j={},ne=_.origin??U,{width:re,height:ae,x:fe,y:ce}=i1(z,f.controlDirection,V,f.boundaries,f.keepAspectRatio,ne,B,X),K=re!==O,se=ae!==M,pe=fe!==A&&K,we=ce!==L&&se;if(!pe&&!we&&!K&&!se)return;if((pe||we||ne[0]===1||ne[1]===1)&&(j.x=pe?fe:k.x,j.y=we?ce:k.y,k.x=j.x,k.y=j.y,H.length>0)){const Pe=fe-A,Ie=ce-L;for(const Re of H)Re.position={x:Re.position.x-Pe+ne[0]*(re-O),y:Re.position.y-Ie+ne[1]*(ae-M)},b.push(Re)}if((K||se)&&(j.width=K&&(!f.resizeDirection||f.resizeDirection==="horizontal")?re:k.width,j.height=se&&(!f.resizeDirection||f.resizeDirection==="vertical")?ae:k.height,k.width=j.width,k.height=j.height),$&&_.expandParent){const Pe=ne[0]*(j.width??0);j.x&&j.x{G&&(P==null||P(Z,{...k}),u==null||u({...k}),G=!1)});c.call(te)}function p(){c.on(".drag",null)}return{update:h,destroy:p}}var Na={exports:{}},Ca={},Ma={exports:{}},Pa={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var _h;function a1(){if(_h)return Pa;_h=1;var t=pi();function r(v,m){return v===m&&(v!==0||1/v===1/m)||v!==v&&m!==m}var i=typeof Object.is=="function"?Object.is:r,l=t.useState,u=t.useEffect,c=t.useLayoutEffect,f=t.useDebugValue;function h(v,m){var w=m(),S=l({inst:{value:w,getSnapshot:m}}),P=S[0].inst,C=S[1];return c(function(){P.value=w,P.getSnapshot=m,p(P)&&C({inst:P})},[v,w,m]),u(function(){return p(P)&&C({inst:P}),v(function(){p(P)&&C({inst:P})})},[v]),f(w),w}function p(v){var m=v.getSnapshot;v=v.value;try{var w=m();return!i(v,w)}catch{return!0}}function y(v,m){return m()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?y:h;return Pa.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,Pa}var kh;function c1(){return kh||(kh=1,Ma.exports=a1()),Ma.exports}/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Eh;function f1(){if(Eh)return Ca;Eh=1;var t=pi(),r=c1();function i(y,g){return y===g&&(y!==0||1/y===1/g)||y!==y&&g!==g}var l=typeof Object.is=="function"?Object.is:i,u=r.useSyncExternalStore,c=t.useRef,f=t.useEffect,h=t.useMemo,p=t.useDebugValue;return Ca.useSyncExternalStoreWithSelector=function(y,g,v,m,w){var S=c(null);if(S.current===null){var P={hasValue:!1,value:null};S.current=P}else P=S.current;S=h(function(){function k($){if(!z){if(z=!0,_=$,$=m($),w!==void 0&&P.hasValue){var B=P.value;if(w(B,$))return I=B}return I=$}if(B=I,l(_,$))return B;var X=m($);return w!==void 0&&w(B,X)?(_=$,B):(_=$,I=X)}var z=!1,_,I,H=v===void 0?null:v;return[function(){return k(g())},H===null?void 0:function(){return k(H())}]},[g,v,m,w]);var C=u(y,S[0],S[1]);return f(function(){P.hasValue=!0,P.value=C},[C]),p(C),C},Ca}var Nh;function d1(){return Nh||(Nh=1,Na.exports=f1()),Na.exports}var h1=d1();const p1=Jh(h1),g1={},Ch=t=>{let r;const i=new Set,l=(g,v)=>{const m=typeof g=="function"?g(r):g;if(!Object.is(m,r)){const w=r;r=v??(typeof m!="object"||m===null)?m:Object.assign({},r,m),i.forEach(S=>S(r,w))}},u=()=>r,p={setState:l,getState:u,getInitialState:()=>y,subscribe:g=>(i.add(g),()=>i.delete(g)),destroy:()=>{(g1?"production":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."),i.clear()}},y=r=t(l,u,p);return p},m1=t=>t?Ch(t):Ch,{useDebugValue:y1}=M0,{useSyncExternalStoreWithSelector:v1}=p1,x1=t=>t;function lg(t,r=x1,i){const l=v1(t.subscribe,t.getState,t.getServerState||t.getInitialState,r,i);return y1(l),l}const Mh=(t,r)=>{const i=m1(t),l=(u,c=r)=>lg(i,u,c);return Object.assign(l,i),l},w1=(t,r)=>t?Mh(t,r):Mh;function be(t,r){if(Object.is(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(const[l,u]of t)if(!Object.is(u,r.get(l)))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(const l of t)if(!r.has(l))return!1;return!0}const i=Object.keys(t);if(i.length!==Object.keys(r).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(r,l)||!Object.is(t[l],r[l]))return!1;return!0}ep();const vl=Q.createContext(null),S1=vl.Provider,ug=Zt.error001("react");function je(t,r){const i=Q.useContext(vl);if(i===null)throw new Error(ug);return lg(i,t,r)}function Oe(){const t=Q.useContext(vl);if(t===null)throw new Error(ug);return Q.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const Ph={display:"none"},_1={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ag="react-flow__node-desc",cg="react-flow__edge-desc",k1="react-flow__aria-live",E1=t=>t.ariaLiveMessage,N1=t=>t.ariaLabelConfig;function C1({rfId:t}){const r=je(E1);return E.jsx("div",{id:`${k1}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:_1,children:r})}function M1({rfId:t,disableKeyboardA11y:r}){const i=je(N1);return E.jsxs(E.Fragment,{children:[E.jsx("div",{id:`${ag}-${t}`,style:Ph,children:r?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),E.jsx("div",{id:`${cg}-${t}`,style:Ph,children:i["edge.a11yDescription.default"]}),!r&&E.jsx(C1,{rfId:t})]})}const xl=Q.forwardRef(({position:t="top-left",children:r,className:i,style:l,...u},c)=>{const f=`${t}`.split("-");return E.jsx("div",{className:Xe(["react-flow__panel",i,...f]),style:l,ref:c,...u,children:r})});xl.displayName="Panel";const Ih="https://reactflow.dev?utm_source=attribution";function P1({proOptions:t,position:r="bottom-right"}){return t!=null&&t.hideAttribution?null:E.jsx(xl,{position:r,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Ih}`,children:E.jsx("a",{href:Ih,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const I1=t=>{const r=[],i=[];for(const[,l]of t.nodeLookup)l.selected&&r.push(l.internals.userNode);for(const[,l]of t.edgeLookup)l.selected&&i.push(l);return{selectedNodes:r,selectedEdges:i}},Ws=t=>t.id;function T1(t,r){return be(t.selectedNodes.map(Ws),r.selectedNodes.map(Ws))&&be(t.selectedEdges.map(Ws),r.selectedEdges.map(Ws))}function j1({onSelectionChange:t}){const r=Oe(),{selectedNodes:i,selectedEdges:l}=je(I1,T1);return Q.useEffect(()=>{const u={nodes:i,edges:l};t==null||t(u),r.getState().onSelectionChangeHandlers.forEach(c=>c(u))},[i,l,t]),null}const z1=t=>!!t.onSelectionChangeHandlers;function R1({onSelectionChange:t}){const r=je(z1);return t||r?E.jsx(j1,{onSelectionChange:t}):null}const fg=[0,0],L1={x:0,y:0,zoom:1},A1=["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"],Th=[...A1,"rfId"],$1=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),jh={translateExtent:ai,nodeOrigin:fg,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function D1(t){const{setNodes:r,setEdges:i,setMinZoom:l,setMaxZoom:u,setTranslateExtent:c,setNodeExtent:f,reset:h,setDefaultNodesAndEdges:p}=je($1,be),y=Oe();Q.useEffect(()=>(p(t.defaultNodes,t.defaultEdges),()=>{g.current=jh,h()}),[]);const g=Q.useRef(jh);return Q.useEffect(()=>{for(const v of Th){const m=t[v],w=g.current[v];m!==w&&(typeof t[v]>"u"||(v==="nodes"?r(m):v==="edges"?i(m):v==="minZoom"?l(m):v==="maxZoom"?u(m):v==="translateExtent"?c(m):v==="nodeExtent"?f(m):v==="ariaLabelConfig"?y.setState({ariaLabelConfig:Sw(m)}):v==="fitView"?y.setState({fitViewQueued:m}):v==="fitViewOptions"?y.setState({fitViewOptions:m}):y.setState({[v]:m})))}g.current=t},Th.map(v=>t[v])),null}function zh(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function O1(t){var l;const[r,i]=Q.useState(t==="system"?null:t);return Q.useEffect(()=>{if(t!=="system"){i(t);return}const u=zh(),c=()=>i(u!=null&&u.matches?"dark":"light");return c(),u==null||u.addEventListener("change",c),()=>{u==null||u.removeEventListener("change",c)}},[t]),r!==null?r:(l=zh())!=null&&l.matches?"dark":"light"}const Rh=typeof document<"u"?document:null;function hi(t=null,r={target:Rh,actInsideInputWithModifier:!0}){const[i,l]=Q.useState(!1),u=Q.useRef(!1),c=Q.useRef(new Set([])),[f,h]=Q.useMemo(()=>{if(t!==null){const y=(Array.isArray(t)?t:[t]).filter(v=>typeof v=="string").map(v=>v.replace(/\+/g,` -`).replace(` - -`,` -+`).split(` -`)),g=y.reduce((v,m)=>v.concat(...m),[]);return[y,g]}return[[],[]]},[t]);return Q.useEffect(()=>{const p=(r==null?void 0:r.target)??Rh,y=(r==null?void 0:r.actInsideInputWithModifier)??!0;if(t!==null){const g=w=>{var C,k;if(u.current=w.ctrlKey||w.metaKey||w.shiftKey||w.altKey,(!u.current||u.current&&!y)&&Up(w))return!1;const P=Ah(w.code,h);if(c.current.add(w[P]),Lh(f,c.current,!1)){const z=((k=(C=w.composedPath)==null?void 0:C.call(w))==null?void 0:k[0])||w.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";r.preventDefault!==!1&&(u.current||!_)&&w.preventDefault(),l(!0)}},v=w=>{const S=Ah(w.code,h);Lh(f,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(w[S]),w.key==="Meta"&&c.current.clear(),u.current=!1},m=()=>{c.current.clear(),l(!1)};return p==null||p.addEventListener("keydown",g),p==null||p.addEventListener("keyup",v),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{p==null||p.removeEventListener("keydown",g),p==null||p.removeEventListener("keyup",v),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[t,l]),i}function Lh(t,r,i){return t.filter(l=>i||l.length===r.size).some(l=>l.every(u=>r.has(u)))}function Ah(t,r){return r.includes(t)?"code":"key"}const F1=()=>{const t=Oe();return Q.useMemo(()=>({zoomIn:async r=>{const{panZoom:i}=t.getState();return i?i.scaleBy(1.2,r):!1},zoomOut:async r=>{const{panZoom:i}=t.getState();return i?i.scaleBy(1/1.2,r):!1},zoomTo:async(r,i)=>{const{panZoom:l}=t.getState();return l?l.scaleTo(r,i):!1},getZoom:()=>t.getState().transform[2],setViewport:async(r,i)=>{const{transform:[l,u,c],panZoom:f}=t.getState();return f?(await f.setViewport({x:r.x??l,y:r.y??u,zoom:r.zoom??c},i),!0):!1},getViewport:()=>{const[r,i,l]=t.getState().transform;return{x:r,y:i,zoom:l}},setCenter:async(r,i,l)=>t.getState().setCenter(r,i,l),fitBounds:async(r,i)=>{const{width:l,height:u,minZoom:c,maxZoom:f,panZoom:h}=t.getState(),p=rc(r,l,u,c,f,(i==null?void 0:i.padding)??.1);return h?(await h.setViewport(p,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(r,i={})=>{const{transform:l,snapGrid:u,snapToGrid:c,domNode:f}=t.getState();if(!f)return r;const{x:h,y:p}=f.getBoundingClientRect(),y={x:r.x-h,y:r.y-p},g=i.snapGrid??u,v=i.snapToGrid??c;return wi(y,l,v,g)},flowToScreenPosition:r=>{const{transform:i,domNode:l}=t.getState();if(!l)return r;const{x:u,y:c}=l.getBoundingClientRect(),f=so(r,i);return{x:f.x+u,y:f.y+c}}}),[])};function dg(t,r){const i=[],l=new Map,u=[];for(const c of t)if(c.type==="add"){u.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const f=l.get(c.id);f?f.push(c):l.set(c.id,[c])}for(const c of r){const f=l.get(c.id);if(!f){i.push(c);continue}if(f[0].type==="remove")continue;if(f[0].type==="replace"){i.push({...f[0].item});continue}const h={...c};for(const p of f)H1(p,h);i.push(h)}return u.length&&u.forEach(c=>{c.index!==void 0?i.splice(c.index,0,{...c.item}):i.push({...c.item})}),i}function H1(t,r){switch(t.type){case"select":{r.selected=t.selected;break}case"position":{typeof t.position<"u"&&(r.position=t.position),typeof t.dragging<"u"&&(r.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(r.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(r.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(r.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(r.resizing=t.resizing);break}}}function V1(t,r){return dg(t,r)}function B1(t,r){return dg(t,r)}function pr(t,r){return{id:t,type:"select",selected:r}}function Jr(t,r=new Set,i=!1){const l=[];for(const[u,c]of t){const f=r.has(u);!(c.selected===void 0&&!f)&&c.selected!==f&&(i&&(c.selected=f),l.push(pr(c.id,f)))}return l}function $h({items:t=[],lookup:r}){var u;const i=[],l=new Map(t.map(c=>[c.id,c]));for(const[c,f]of t.entries()){const h=r.get(f.id),p=((u=h==null?void 0:h.internals)==null?void 0:u.userNode)??h;p!==void 0&&p!==f&&i.push({id:f.id,item:f,type:"replace"}),p===void 0&&i.push({item:f,type:"add",index:c})}for(const[c]of r)l.get(c)===void 0&&i.push({id:c,type:"remove"});return i}function Dh(t){return{id:t.id,type:"remove"}}const b1=Hp();function U1(t,r,i={}){return Mw(t,r,{...i,onError:i.onError??b1})}const Oh=t=>dw(t),W1=t=>Ap(t);function hg(t){return Q.forwardRef(t)}const pg=typeof window<"u"?Q.useLayoutEffect:Q.useEffect;function Fh(t){const[r,i]=Q.useState(BigInt(0)),[l]=Q.useState(()=>Y1(()=>i(u=>u+BigInt(1))));return pg(()=>{const u=l.get();u.length&&(t(u),l.reset())},[r]),l}function Y1(t){let r=[];return{get:()=>r,reset:()=>{r=[]},push:i=>{r.push(i),t()}}}const gg=Q.createContext(null);function X1({children:t}){const r=Oe(),i=Q.useCallback(h=>{const{nodes:p=[],setNodes:y,hasDefaultNodes:g,onNodesChange:v,nodeLookup:m,fitViewQueued:w,onNodesChangeMiddlewareMap:S}=r.getState();let P=p;for(const k of h)P=typeof k=="function"?k(P):k;let C=$h({items:P,lookup:m});for(const k of S.values())C=k(C);g&&y(P),C.length>0?v==null||v(C):w&&window.requestAnimationFrame(()=>{const{fitViewQueued:k,nodes:z,setNodes:_}=r.getState();k&&_(z)})},[]),l=Fh(i),u=Q.useCallback(h=>{const{edges:p=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:v,edgeLookup:m}=r.getState();let w=p;for(const S of h)w=typeof S=="function"?S(w):S;g?y(w):v&&v($h({items:w,lookup:m}))},[]),c=Fh(u),f=Q.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return E.jsx(gg.Provider,{value:f,children:t})}function Q1(){const t=Q.useContext(gg);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const G1=t=>!!t.panZoom;function cc(){const t=F1(),r=Oe(),i=Q1(),l=je(G1),u=Q.useMemo(()=>{const c=v=>r.getState().nodeLookup.get(v),f=v=>{i.nodeQueue.push(v)},h=v=>{i.edgeQueue.push(v)},p=v=>{var k,z;const{nodeLookup:m,nodeOrigin:w}=r.getState(),S=Oh(v)?v:m.get(v.id),P=S.parentId?Bp(S.position,S.measured,S.parentId,m,w):S.position,C={...S,position:P,width:((k=S.measured)==null?void 0:k.width)??S.width,height:((z=S.measured)==null?void 0:z.height)??S.height};return fi(C)},y=(v,m,w={replace:!1})=>{f(S=>S.map(P=>{if(P.id===v){const C=typeof m=="function"?m(P):m;return w.replace&&Oh(C)?C:{...P,...C}}return P}))},g=(v,m,w={replace:!1})=>{h(S=>S.map(P=>{if(P.id===v){const C=typeof m=="function"?m(P):m;return w.replace&&W1(C)?C:{...P,...C}}return P}))};return{getNodes:()=>r.getState().nodes.map(v=>({...v})),getNode:v=>{var m;return(m=c(v))==null?void 0:m.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:v=[]}=r.getState();return v.map(m=>({...m}))},getEdge:v=>r.getState().edgeLookup.get(v),setNodes:f,setEdges:h,addNodes:v=>{const m=Array.isArray(v)?v:[v];i.nodeQueue.push(w=>[...w,...m])},addEdges:v=>{const m=Array.isArray(v)?v:[v];i.edgeQueue.push(w=>[...w,...m])},toObject:()=>{const{nodes:v=[],edges:m=[],transform:w}=r.getState(),[S,P,C]=w;return{nodes:v.map(k=>({...k})),edges:m.map(k=>({...k})),viewport:{x:S,y:P,zoom:C}}},deleteElements:async({nodes:v=[],edges:m=[]})=>{const{nodes:w,edges:S,onNodesDelete:P,onEdgesDelete:C,triggerNodeChanges:k,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:I}=r.getState(),{nodes:H,edges:$}=await yw({nodesToRemove:v,edgesToRemove:m,nodes:w,edges:S,onBeforeDelete:I}),B=$.length>0,X=H.length>0;if(B){const G=$.map(Dh);C==null||C($),z(G)}if(X){const G=H.map(Dh);P==null||P(H),k(G)}return(X||B)&&(_==null||_({nodes:H,edges:$})),{deletedNodes:H,deletedEdges:$}},getIntersectingNodes:(v,m=!0,w)=>{const S=ah(v),P=S?v:p(v),C=w!==void 0;return P?(w||r.getState().nodes).filter(k=>{const z=r.getState().nodeLookup.get(k.id);if(z&&!S&&(k.id===v.id||!z.internals.positionAbsolute))return!1;const _=fi(C?k:z),I=ll(_,P);return m&&I>0||I>=_.width*_.height||I>=P.width*P.height}):[]},isNodeIntersecting:(v,m,w=!0)=>{const P=ah(v)?v:p(v);if(!P)return!1;const C=ll(P,m);return w&&C>0||C>=m.width*m.height||C>=P.width*P.height},updateNode:y,updateNodeData:(v,m,w={replace:!1})=>{y(v,S=>{const P=typeof m=="function"?m(S):m;return w.replace?{...S,data:P}:{...S,data:{...S.data,...P}}},w)},updateEdge:g,updateEdgeData:(v,m,w={replace:!1})=>{g(v,S=>{const P=typeof m=="function"?m(S):m;return w.replace?{...S,data:P}:{...S,data:{...S.data,...P}}},w)},getNodesBounds:v=>{const{nodeLookup:m,nodeOrigin:w}=r.getState();return hw(v,{nodeLookup:m,nodeOrigin:w})},getHandleConnections:({type:v,id:m,nodeId:w})=>{var S;return Array.from(((S=r.getState().connectionLookup.get(`${w}-${v}${m?`-${m}`:""}`))==null?void 0:S.values())??[])},getNodeConnections:({type:v,handleId:m,nodeId:w})=>{var S;return Array.from(((S=r.getState().connectionLookup.get(`${w}${v?m?`-${v}-${m}`:`-${v}`:""}`))==null?void 0:S.values())??[])},fitView:async v=>{const m=r.getState().fitViewResolver??ww();return r.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:m}),i.nodeQueue.push(w=>[...w]),m.promise}}},[]);return Q.useMemo(()=>({...u,...t,viewportInitialized:l}),[l])}const Hh=t=>t.selected,K1=typeof window<"u"?window:void 0;function q1({deleteKeyCode:t,multiSelectionKeyCode:r}){const i=Oe(),{deleteElements:l}=cc(),u=hi(t,{actInsideInputWithModifier:!1}),c=hi(r,{target:K1});Q.useEffect(()=>{if(u){const{edges:f,nodes:h}=i.getState();l({nodes:h.filter(Hh),edges:f.filter(Hh)}),i.setState({nodesSelectionActive:!1})}},[u]),Q.useEffect(()=>{i.setState({multiSelectionActive:c})},[c])}function Z1(t){const r=Oe();Q.useEffect(()=>{const i=()=>{var u,c,f,h;if(!t.current||!(((c=(u=t.current).checkVisibility)==null?void 0:c.call(u))??!0))return!1;const l=oc(t.current);(l.height===0||l.width===0)&&((h=(f=r.getState()).onError)==null||h.call(f,"004",Zt.error004())),r.setState({width:l.width||500,height:l.height||500})};if(t.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(t.current),()=>{window.removeEventListener("resize",i),l&&t.current&&l.unobserve(t.current)}}},[])}const wl={position:"absolute",width:"100%",height:"100%",top:0,left:0},J1=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function eS({onPaneContextMenu:t,zoomOnScroll:r=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panActivationKeyPressed:u,panOnScrollSpeed:c=.5,panOnScrollMode:f=yr.Free,zoomOnDoubleClick:h=!0,panOnDrag:p=!0,defaultViewport:y,translateExtent:g,minZoom:v,maxZoom:m,zoomActivationKeyCode:w,preventScrolling:S=!0,children:P,noWheelClassName:C,noPanClassName:k,onViewportChange:z,isControlledViewport:_,paneClickDistance:I,selectionOnDrag:H}){const $=Oe(),B=Q.useRef(null),{userSelectionActive:X,lib:G,connectionInProgress:te}=je(J1,be),Z=hi(w),ee=Q.useRef();Z1(B);const J=Q.useCallback(N=>{z==null||z({x:N[0],y:N[1],zoom:N[2]}),_||$.setState({transform:N})},[z,_]);return Q.useEffect(()=>{if(B.current){ee.current=r1({domNode:B.current,minZoom:v,maxZoom:m,translateExtent:g,viewport:y,onDraggingChange:b=>$.setState(A=>A.paneDragging===b?A:{paneDragging:b}),onPanZoomStart:(b,A)=>{const{onViewportChangeStart:L,onMoveStart:O}=$.getState();O==null||O(b,A),L==null||L(A)},onPanZoom:(b,A)=>{const{onViewportChange:L,onMove:O}=$.getState();O==null||O(b,A),L==null||L(A)},onPanZoomEnd:(b,A)=>{const{onViewportChangeEnd:L,onMoveEnd:O}=$.getState();O==null||O(b,A),L==null||L(A)}});const{x:N,y:U,zoom:V}=ee.current.getViewport();return $.setState({panZoom:ee.current,transform:[N,U,V],domNode:B.current.closest(".react-flow")}),()=>{var b;(b=ee.current)==null||b.destroy()}}},[]),Q.useEffect(()=>{var N;(N=ee.current)==null||N.update({onPaneContextMenu:t,zoomOnScroll:r,zoomOnPinch:i,panOnScroll:l,panActivationKeyPressed:u,panOnScrollSpeed:c,panOnScrollMode:f,zoomOnDoubleClick:h,panOnDrag:p,zoomActivationKeyPressed:Z,preventScrolling:S,noPanClassName:k,userSelectionActive:X,noWheelClassName:C,lib:G,onTransformChange:J,connectionInProgress:te,selectionOnDrag:H,paneClickDistance:I})},[t,r,i,l,u,c,f,h,p,Z,S,k,X,C,G,J,te,H,I]),E.jsx("div",{className:"react-flow__renderer",ref:B,style:wl,children:P})}const tS=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function nS(){const{userSelectionActive:t,userSelectionRect:r}=je(tS,be);return t&&r?E.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const Ia=(t,r)=>i=>{i.target===r.current&&(t==null||t(i))},rS=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function oS({isSelecting:t,selectionKeyPressed:r,selectionMode:i=ci.Full,panOnDrag:l,autoPanOnSelection:u,paneClickDistance:c,selectionOnDrag:f,onSelectionStart:h,onSelectionEnd:p,onPaneClick:y,onPaneContextMenu:g,onPaneScroll:v,onPaneMouseEnter:m,onPaneMouseMove:w,onPaneMouseLeave:S,children:P}){const C=Q.useRef(0),k=Oe(),{userSelectionActive:z,elementsSelectable:_,dragging:I,panBy:H,autoPanSpeed:$}=je(rS,be),B=_&&(t||z),X=Q.useRef(null),G=Q.useRef(),te=Q.useRef(new Set),Z=Q.useRef(new Set),ee=Q.useRef(!1),J=Q.useRef(!1),N=Q.useRef({x:0,y:0}),U=Q.useRef(!1),V=K=>{if(J.current||ee.current||k.getState().connection.inProgress){J.current=!1,ee.current=!1;return}y==null||y(K),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},b=K=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){K.preventDefault();return}g==null||g(K)},A=v?K=>v(K):void 0,L=K=>{J.current&&(K.stopPropagation(),J.current=!1)},O=K=>{var Re,Ze;if(K.pointerType==="touch"&&l!==!1&&!r)return;const{domNode:se,transform:pe}=k.getState();if(G.current=se==null?void 0:se.getBoundingClientRect(),!G.current)return;const we=K.target===X.current;if(!we&&!!K.target.closest(".nokey")||!t||!(f&&we||r)||K.button!==0||!K.isPrimary)return;(Ze=(Re=K.target)==null?void 0:Re.setPointerCapture)==null||Ze.call(Re,K.pointerId),J.current=!1;const{x:Ne,y:Pe}=qt(K.nativeEvent,G.current),Ie=wi({x:Ne,y:Pe},pe);k.setState({userSelectionRect:{width:0,height:0,startX:Ie.x,startY:Ie.y,x:Ne,y:Pe}}),we||(K.stopPropagation(),K.preventDefault())};function M(K,se){const{userSelectionRect:pe}=k.getState();if(!pe)return;const{transform:we,nodeLookup:ve,edgeLookup:me,connectionLookup:Ne,triggerNodeChanges:Pe,triggerEdgeChanges:Ie,defaultEdgeOptions:Re}=k.getState(),Ze={x:pe.startX,y:pe.startY},{x:nt,y:Qe}=so(Ze,we),Ge={startX:Ze.x,startY:Ze.y,x:Krt.id)),Z.current=new Set;const Et=(Re==null?void 0:Re.selectable)??!0;for(const rt of te.current){const ft=Ne.get(rt);if(ft)for(const{edgeId:st}of ft.values()){const dt=me.get(st);dt&&(dt.selectable??Et)&&Z.current.add(st)}}if(!ch(At,te.current)){const rt=Jr(ve,te.current,!0);Pe(rt)}if(!ch(kt,Z.current)){const rt=Jr(me,Z.current);Ie(rt)}k.setState({userSelectionRect:Ge,userSelectionActive:!0,nodesSelectionActive:!1})}function j(){if(!u||!G.current)return;const[K,se]=nc(N.current,G.current,$);H({x:K,y:se}).then(pe=>{if(!J.current||!pe){C.current=requestAnimationFrame(j);return}const{x:we,y:ve}=N.current;M(we,ve),C.current=requestAnimationFrame(j)})}const ne=()=>{cancelAnimationFrame(C.current),C.current=0,U.current=!1};Q.useEffect(()=>()=>ne(),[]);const re=K=>{const{userSelectionRect:se,transform:pe,resetSelectedElements:we}=k.getState();if(!G.current||!se)return;const{x:ve,y:me}=qt(K.nativeEvent,G.current);N.current={x:ve,y:me};const Ne=so({x:se.startX,y:se.startY},pe);if(!J.current){const Pe=r?0:c;if(Math.hypot(ve-Ne.x,me-Ne.y)<=Pe)return;we(),h==null||h(K)}J.current=!0,U.current||(j(),U.current=!0),M(ve,me)},ae=K=>{var se,pe;if(!B){K.target===X.current&&k.getState().connection.inProgress&&(ee.current=!0);return}K.button===0&&((pe=(se=K.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,K.pointerId),!z&&K.target===X.current&&k.getState().userSelectionRect&&(V==null||V(K)),k.setState({userSelectionActive:!1,userSelectionRect:null}),J.current&&(p==null||p(K),k.setState({nodesSelectionActive:te.current.size>0})),ne())},fe=K=>{var se,pe;(pe=(se=K.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,K.pointerId),ne()},ce=l===!0||Array.isArray(l)&&l.includes(0);return E.jsxs("div",{className:Xe(["react-flow__pane",{draggable:ce,dragging:I,selection:t}]),onClick:B?void 0:Ia(V,X),onContextMenu:Ia(b,X),onWheel:Ia(A,X),onPointerEnter:B?void 0:m,onPointerMove:B?re:w,onPointerUp:ae,onPointerCancel:B?fe:void 0,onPointerDownCapture:B?O:void 0,onClickCapture:B?L:void 0,onPointerLeave:S,ref:X,style:wl,children:[P,E.jsx(nS,{})]})}function Wa({id:t,store:r,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:u,unselectNodesAndEdges:c,multiSelectionActive:f,nodeLookup:h,onError:p}=r.getState(),y=h.get(t);if(!y){p==null||p("012",Zt.error012(t));return}r.setState({nodesSelectionActive:!1}),y.selected?(i||y.selected&&f)&&(c({nodes:[y],edges:[]}),requestAnimationFrame(()=>{var g;return(g=l==null?void 0:l.current)==null?void 0:g.blur()})):u([t])}function mg({nodeRef:t,disabled:r=!1,noDragClassName:i,handleSelector:l,nodeId:u,isSelectable:c,nodeClickDistance:f}){const h=Oe(),[p,y]=Q.useState(!1),g=Q.useRef();return Q.useEffect(()=>{if(!r)return g.current=bw({getStoreItems:()=>h.getState(),onNodeMouseDown:v=>{Wa({id:v,store:h,nodeRef:t})},onDragStart:()=>{y(!0)},onDragStop:()=>{y(!1)}}),()=>{var v;(v=g.current)==null||v.destroy(),g.current=void 0}},[r,h,t]),Q.useEffect(()=>{r||!t.current||!g.current||g.current.update({noDragClassName:i,handleSelector:l,domNode:t.current,isSelectable:c,nodeId:u,nodeClickDistance:f})},[i,l,r,c,t,u,f]),p}const iS=t=>r=>r.selected&&(r.draggable||t&&typeof r.draggable>"u");function yg(){const t=Oe();return Q.useCallback(i=>{const{nodeExtent:l,snapToGrid:u,snapGrid:c,nodesDraggable:f,onError:h,updateNodePositions:p,nodeLookup:y,nodeOrigin:g}=t.getState(),v=new Map,m=iS(f),w=u?c[0]:5,S=u?c[1]:5,P=i.direction.x*w*i.factor,C=i.direction.y*S*i.factor;for(const[,k]of y){if(!m(k))continue;let z={x:k.internals.positionAbsolute.x+P,y:k.internals.positionAbsolute.y+C};u&&(z=xi(z,c));const{position:_,positionAbsolute:I}=$p({nodeId:k.id,nextPosition:z,nodeLookup:y,nodeExtent:l,nodeOrigin:g,onError:h});k.position=_,k.internals.positionAbsolute=I,v.set(k.id,k)}p(v)},[])}const fc=Q.createContext(null),sS=fc.Provider;fc.Consumer;const vg=()=>Q.useContext(fc),lS=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),xg=Q.createContext(null);function uS({children:t}){const r=je(lS,be);return E.jsx(xg.Provider,{value:r,children:t})}function aS(){const t=Q.useContext(xg);if(!t)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return t}const cS={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},fS=(t,r,i)=>l=>{const{connectionClickStartHandle:u,connectionMode:c,connection:f}=l,{fromHandle:h,toHandle:p,isValid:y}=f;if(!h&&!u)return cS;const g=(p==null?void 0:p.nodeId)===t&&(p==null?void 0:p.id)===r&&(p==null?void 0:p.type)===i;return{connectingFrom:(h==null?void 0:h.nodeId)===t&&(h==null?void 0:h.id)===r&&(h==null?void 0:h.type)===i,connectingTo:g,clickConnecting:(u==null?void 0:u.nodeId)===t&&(u==null?void 0:u.id)===r&&(u==null?void 0:u.type)===i,isPossibleEndHandle:c===oo.Strict?(h==null?void 0:h.type)!==i:t!==(h==null?void 0:h.nodeId)||r!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!u,valid:g&&y}};function dS({type:t="source",position:r=Se.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:u=!0,isConnectableEnd:c=!0,id:f,onConnect:h,children:p,className:y,onMouseDown:g,onTouchStart:v,...m},w){var U,V;const S=f||null,P=t==="target",C=Oe(),k=vg(),{connectOnClick:z,noPanClassName:_,rfId:I}=aS(),{connectingFrom:H,connectingTo:$,clickConnecting:B,isPossibleEndHandle:X,connectionInProcess:G,clickConnectionInProcess:te,valid:Z}=je(fS(k,S,t),be);k||(V=(U=C.getState()).onError)==null||V.call(U,"010",Zt.error010());const ee=b=>{const{defaultEdgeOptions:A,onConnect:L,hasDefaultEdges:O}=C.getState(),M={...A,...b};if(O){const{edges:j,setEdges:ne,onError:re}=C.getState();ne(U1(M,j,{onError:re}))}L==null||L(M),h==null||h(M)},J=b=>{if(!k)return;const A=Wp(b.nativeEvent);if(u&&(A&&b.button===0||!A)){const L=C.getState();Ua.onPointerDown(b.nativeEvent,{handleDomNode:b.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:P,handleId:S,nodeId:k,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...O)=>{var M,j;return(j=(M=C.getState()).onConnectEnd)==null?void 0:j.call(M,...O)},updateConnection:L.updateConnection,onConnect:ee,isValidConnection:i||((...O)=>{var M,j;return((j=(M=C.getState()).isValidConnection)==null?void 0:j.call(M,...O))??!0}),getTransform:()=>C.getState().transform,getFromHandle:()=>C.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}A?g==null||g(b):v==null||v(b)},N=b=>{const{onClickConnectStart:A,onClickConnectEnd:L,connectionClickStartHandle:O,connectionMode:M,isValidConnection:j,lib:ne,rfId:re,nodeLookup:ae,connection:fe}=C.getState();if(!k||!O&&!u)return;if(!O){A==null||A(b.nativeEvent,{nodeId:k,handleId:S,handleType:t}),C.setState({connectionClickStartHandle:{nodeId:k,type:t,id:S}});return}const ce=bp(b.target),K=i||j,{connection:se,isValid:pe}=Ua.isValid(b.nativeEvent,{handle:{nodeId:k,id:S,type:t},connectionMode:M,fromNodeId:O.nodeId,fromHandleId:O.id||null,fromType:O.type,isValidConnection:K,flowId:re,doc:ce,lib:ne,nodeLookup:ae});pe&&se&&ee(se);const we=structuredClone(fe);delete we.inProgress,we.toPosition=we.toHandle?we.toHandle.position:null,L==null||L(b,we),C.setState({connectionClickStartHandle:null})};return E.jsx("div",{"data-handleid":S,"data-nodeid":k,"data-handlepos":r,"data-id":`${I}-${k}-${S}-${t}`,className:Xe(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",_,y,{source:!P,target:P,connectable:l,connectablestart:u,connectableend:c,clickconnecting:B,connectingfrom:H,connectingto:$,valid:Z,connectionindicator:l&&(!G||X)&&(G||te?c:u)}]),onMouseDown:J,onTouchStart:J,onClick:z?N:void 0,ref:w,...m,children:p})}const ul=Q.memo(hg(dS));function hS({data:t,isConnectable:r,sourcePosition:i=Se.Bottom}){return E.jsxs(E.Fragment,{children:[t==null?void 0:t.label,E.jsx(ul,{type:"source",position:i,isConnectable:r})]})}function pS({data:t,isConnectable:r,targetPosition:i=Se.Top,sourcePosition:l=Se.Bottom}){return E.jsxs(E.Fragment,{children:[E.jsx(ul,{type:"target",position:i,isConnectable:r}),t==null?void 0:t.label,E.jsx(ul,{type:"source",position:l,isConnectable:r})]})}function gS(){return null}function mS({data:t,isConnectable:r,targetPosition:i=Se.Top}){return E.jsxs(E.Fragment,{children:[E.jsx(ul,{type:"target",position:i,isConnectable:r}),t==null?void 0:t.label]})}const al={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Vh={input:hS,default:pS,output:mS,group:gS};function yS(t){var r,i,l,u;return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??((r=t.style)==null?void 0:r.width),height:t.height??t.initialHeight??((i=t.style)==null?void 0:i.height)}:{width:t.width??((l=t.style)==null?void 0:l.width),height:t.height??((u=t.style)==null?void 0:u.height)}}const vS=t=>{const{width:r,height:i,x:l,y:u}=vi(t.nodeLookup,{filter:c=>!!c.selected});return{width:Kt(r)?r:null,height:Kt(i)?i:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${l}px,${u}px)`}};function xS({onSelectionContextMenu:t,noPanClassName:r,disableKeyboardA11y:i}){const l=Oe(),{width:u,height:c,transformString:f,userSelectionActive:h}=je(vS,be),p=yg(),y=Q.useRef(null);Q.useEffect(()=>{var w;i||(w=y.current)==null||w.focus({preventScroll:!0})},[i]);const g=!h&&u!==null&&c!==null;if(mg({nodeRef:y,disabled:!g}),!g)return null;const v=t?w=>{const S=l.getState().nodes.filter(P=>P.selected);t(w,S)}:void 0,m=w=>{Object.prototype.hasOwnProperty.call(al,w.key)&&(w.preventDefault(),p({direction:al[w.key],factor:w.shiftKey?4:1}))};return E.jsx("div",{className:Xe(["react-flow__nodesselection","react-flow__container",r]),style:{transform:f},children:E.jsx("div",{ref:y,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:u,height:c}})})}const Bh=typeof window<"u"?window:void 0,wS=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function wg({children:t,onPaneClick:r,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:u,onPaneContextMenu:c,onPaneScroll:f,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:y,selectionOnDrag:g,selectionMode:v,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:S,panActivationKeyCode:P,zoomActivationKeyCode:C,elementsSelectable:k,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:I,panOnScrollSpeed:H,panOnScrollMode:$,zoomOnDoubleClick:B,panOnDrag:X,autoPanOnSelection:G,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,preventScrolling:N,onSelectionContextMenu:U,noWheelClassName:V,noPanClassName:b,disableKeyboardA11y:A,onViewportChange:L,isControlledViewport:O}){const{nodesSelectionActive:M,userSelectionActive:j}=je(wS,be),ne=hi(y,{target:Bh}),re=hi(P,{target:Bh}),ae=re||X,fe=re||I,ce=g&&ae!==!0,K=ne||j||ce;return q1({deleteKeyCode:p,multiSelectionKeyCode:S}),E.jsx(eS,{onPaneContextMenu:c,elementsSelectable:k,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:fe,panActivationKeyPressed:re,panOnScrollSpeed:H,panOnScrollMode:$,zoomOnDoubleClick:B,panOnDrag:!ne&&ae,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,zoomActivationKeyCode:C,preventScrolling:N,noWheelClassName:V,noPanClassName:b,onViewportChange:L,isControlledViewport:O,paneClickDistance:h,selectionOnDrag:ce,children:E.jsxs(oS,{onSelectionStart:m,onSelectionEnd:w,onPaneClick:r,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:u,onPaneContextMenu:c,onPaneScroll:f,panOnDrag:ae,autoPanOnSelection:G,isSelecting:!!K,selectionMode:v,selectionKeyPressed:ne,paneClickDistance:h,selectionOnDrag:ce,children:[t,M&&E.jsx(xS,{onSelectionContextMenu:U,noPanClassName:b,disableKeyboardA11y:A})]})})}wg.displayName="FlowRenderer";const SS=Q.memo(wg),_S=t=>r=>t?tc(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(i=>i.id):Array.from(r.nodeLookup.keys());function kS(t){return je(Q.useCallback(_S(t),[t]),be)}const ES=t=>t.updateNodeInternals;function NS(){const t=je(ES),[r]=Q.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(u=>{const c=u.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:u.target,force:!0})}),t(l)}));return Q.useEffect(()=>()=>{r==null||r.disconnect()},[r]),r}function CS({node:t,nodeType:r,hasDimensions:i,resizeObserver:l}){const u=Oe(),c=Q.useRef(null),f=Q.useRef(null),h=Q.useRef(t.sourcePosition),p=Q.useRef(t.targetPosition),y=Q.useRef(r),g=i&&!!t.internals.handleBounds;return Q.useEffect(()=>{c.current&&!t.hidden&&(!g||f.current!==c.current)&&(f.current&&(l==null||l.unobserve(f.current)),l==null||l.observe(c.current),f.current=c.current)},[g,t.hidden]),Q.useEffect(()=>()=>{f.current&&(l==null||l.unobserve(f.current),f.current=null)},[]),Q.useEffect(()=>{if(c.current){const v=y.current!==r,m=h.current!==t.sourcePosition,w=p.current!==t.targetPosition;(v||m||w)&&(y.current=r,h.current=t.sourcePosition,p.current=t.targetPosition,u.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,r,t.sourcePosition,t.targetPosition]),c}function MS({id:t,onClick:r,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onContextMenu:c,onDoubleClick:f,nodesDraggable:h,elementsSelectable:p,nodesConnectable:y,nodesFocusable:g,resizeObserver:v,noDragClassName:m,noPanClassName:w,disableKeyboardA11y:S,rfId:P,nodeTypes:C,nodeClickDistance:k,onError:z}){const{node:_,internals:I,isParent:H}=je(K=>{const se=K.nodeLookup.get(t),pe=K.parentLookup.has(t);return{node:se,internals:se.internals,isParent:pe}},be);let $=_.type||"default",B=(C==null?void 0:C[$])||Vh[$];B===void 0&&(z==null||z("003",Zt.error003($)),$="default",B=(C==null?void 0:C.default)||Vh.default);const X=!!(_.draggable||h&&typeof _.draggable>"u"),G=!!(_.selectable||p&&typeof _.selectable>"u"),te=!!(_.connectable||y&&typeof _.connectable>"u"),Z=!!(_.focusable||g&&typeof _.focusable>"u"),ee=Oe(),J=Vp(_),N=CS({node:_,nodeType:$,hasDimensions:J,resizeObserver:v}),U=mg({nodeRef:N,disabled:_.hidden||!X,noDragClassName:m,handleSelector:_.dragHandle,nodeId:t,isSelectable:G,nodeClickDistance:k}),V=yg();if(_.hidden)return null;const b=en(_),A=yS(_),L=G||X||r||i||l||u,O=i?K=>i(K,{...I.userNode}):void 0,M=l?K=>l(K,{...I.userNode}):void 0,j=u?K=>u(K,{...I.userNode}):void 0,ne=c?K=>c(K,{...I.userNode}):void 0,re=f?K=>f(K,{...I.userNode}):void 0,ae=K=>{const{selectNodesOnDrag:se,nodeDragThreshold:pe}=ee.getState();G&&(!se||!X||pe>0)&&Wa({id:t,store:ee,nodeRef:N}),r&&r(K,{...I.userNode})},fe=K=>{if(!(Up(K.nativeEvent)||S)){if(jp.includes(K.key)&&G){const se=K.key==="Escape";Wa({id:t,store:ee,unselect:se,nodeRef:N})}else if(X&&_.selected&&Object.prototype.hasOwnProperty.call(al,K.key)){K.preventDefault();const{ariaLabelConfig:se}=ee.getState();ee.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:K.key.replace("Arrow","").toLowerCase(),x:~~I.positionAbsolute.x,y:~~I.positionAbsolute.y})}),V({direction:al[K.key],factor:K.shiftKey?4:1})}}},ce=()=>{var Ne;if(S||!((Ne=N.current)!=null&&Ne.matches(":focus-visible")))return;const{transform:K,width:se,height:pe,autoPanOnNodeFocus:we,setCenter:ve}=ee.getState();if(!we)return;tc(new Map([[t,_]]),{x:0,y:0,width:se,height:pe},K,!0).length>0||ve(_.position.x+b.width/2,_.position.y+b.height/2,{zoom:K[2]})};return E.jsx("div",{className:Xe(["react-flow__node",`react-flow__node-${$}`,{[w]:X},_.className,{selected:_.selected,selectable:G,parent:H,draggable:X,dragging:U}]),ref:N,style:{zIndex:I.z,transform:`translate(${I.positionAbsolute.x}px,${I.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:J?"visible":"hidden",..._.style,...A},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:O,onMouseMove:M,onMouseLeave:j,onContextMenu:ne,onClick:ae,onDoubleClick:re,onKeyDown:Z?fe:void 0,tabIndex:Z?0:void 0,onFocus:Z?ce:void 0,role:_.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":S?void 0:`${ag}-${P}`,"aria-label":_.ariaLabel,..._.domAttributes,children:E.jsx(sS,{value:t,children:E.jsx(B,{id:t,data:_.data,type:$,positionAbsoluteX:I.positionAbsolute.x,positionAbsoluteY:I.positionAbsolute.y,selected:_.selected??!1,selectable:G,draggable:X,deletable:_.deletable??!0,isConnectable:te,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:U,dragHandle:_.dragHandle,zIndex:I.z,parentId:_.parentId,...b})})})}var PS=Q.memo(MS);const IS=t=>({nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Sg(t){const{nodesConnectable:r,nodesFocusable:i,elementsSelectable:l,onError:u}=je(IS,be),c=kS(t.onlyRenderVisibleElements),f=NS();return E.jsx("div",{className:"react-flow__nodes",style:wl,children:c.map(h=>E.jsx(PS,{id:h,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:f,nodesDraggable:t.nodesDraggable??!0,nodesConnectable:r,nodesFocusable:i,elementsSelectable:l,nodeClickDistance:t.nodeClickDistance,onError:u},h))})}Sg.displayName="NodeRenderer";const TS=Q.memo(Sg);function jS(t){return je(Q.useCallback(i=>{if(!t)return i.edges.map(u=>u.id);const l=[];if(i.width&&i.height)for(const u of i.edges){const c=i.nodeLookup.get(u.source),f=i.nodeLookup.get(u.target);c&&f&&Ew({sourceNode:c,targetNode:f,width:i.width,height:i.height,transform:i.transform})&&l.push(u.id)}return l},[t]),be)}const zS=({color:t="none",strokeWidth:r=1})=>{const i={strokeWidth:r,...t&&{stroke:t}};return E.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},RS=({color:t="none",strokeWidth:r=1})=>{const i={strokeWidth:r,...t&&{stroke:t,fill:t}};return E.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},bh={[il.Arrow]:zS,[il.ArrowClosed]:RS};function LS(t){const r=Oe();return Q.useMemo(()=>{var u,c;return Object.prototype.hasOwnProperty.call(bh,t)?bh[t]:((c=(u=r.getState()).onError)==null||c.call(u,"009",Zt.error009(t)),null)},[t])}const AS=({id:t,type:r,color:i,width:l=12.5,height:u=12.5,markerUnits:c="strokeWidth",strokeWidth:f,orient:h="auto-start-reverse"})=>{const p=LS(r);return p?E.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${l}`,markerHeight:`${u}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:E.jsx(p,{color:i,strokeWidth:f})}):null},_g=({defaultColor:t,rfId:r})=>{const i=je(c=>c.edges),l=je(c=>c.defaultEdgeOptions),u=Q.useMemo(()=>zw(i,{id:r,defaultColor:t,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,r,t]);return u.length?E.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:E.jsx("defs",{children:u.map(c=>E.jsx(AS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};_g.displayName="MarkerDefinitions";var $S=Q.memo(_g);function kg({x:t,y:r,label:i,labelStyle:l,labelShowBg:u=!0,labelBgStyle:c,labelBgPadding:f=[2,4],labelBgBorderRadius:h=2,children:p,className:y,...g}){const[v,m]=Q.useState({x:1,y:0,width:0,height:0}),w=Xe(["react-flow__edge-textwrapper",y]),S=Q.useRef(null);return Q.useEffect(()=>{if(S.current){const P=S.current.getBBox();m({x:P.x,y:P.y,width:P.width,height:P.height})}},[i]),i?E.jsxs("g",{transform:`translate(${t-v.width/2} ${r-v.height/2})`,className:w,visibility:v.width?"visible":"hidden",...g,children:[u&&E.jsx("rect",{width:v.width+2*f[0],x:-f[0],y:-f[1],height:v.height+2*f[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),E.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:S,style:l,children:i}),p]}):null}kg.displayName="EdgeText";const DS=Q.memo(kg);function Sl({path:t,labelX:r,labelY:i,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:y=20,...g}){return E.jsxs(E.Fragment,{children:[E.jsx("path",{...g,d:t,fill:"none",className:Xe(["react-flow__edge-path",g.className])}),y?E.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:y,className:"react-flow__edge-interaction"}):null,l&&Kt(r)&&Kt(i)?E.jsx(DS,{x:r,y:i,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Uh({pos:t,x1:r,y1:i,x2:l,y2:u}){return t===Se.Left||t===Se.Right?[.5*(r+l),i]:[r,.5*(i+u)]}function Eg({sourceX:t,sourceY:r,sourcePosition:i=Se.Bottom,targetX:l,targetY:u,targetPosition:c=Se.Top}){const[f,h]=Uh({pos:i,x1:t,y1:r,x2:l,y2:u}),[p,y]=Uh({pos:c,x1:l,y1:u,x2:t,y2:r}),[g,v,m,w]=Yp({sourceX:t,sourceY:r,targetX:l,targetY:u,sourceControlX:f,sourceControlY:h,targetControlX:p,targetControlY:y});return[`M${t},${r} C${f},${h} ${p},${y} ${l},${u}`,g,v,m,w]}function Ng(t){return Q.memo(({id:r,sourceX:i,sourceY:l,targetX:u,targetY:c,sourcePosition:f,targetPosition:h,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:v,labelBgPadding:m,labelBgBorderRadius:w,style:S,markerEnd:P,markerStart:C,interactionWidth:k})=>{const[z,_,I]=Eg({sourceX:i,sourceY:l,sourcePosition:f,targetX:u,targetY:c,targetPosition:h}),H=t.isInternal?void 0:r;return E.jsx(Sl,{id:H,path:z,labelX:_,labelY:I,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:v,labelBgPadding:m,labelBgBorderRadius:w,style:S,markerEnd:P,markerStart:C,interactionWidth:k})})}const OS=Ng({isInternal:!1}),Cg=Ng({isInternal:!0});OS.displayName="SimpleBezierEdge";Cg.displayName="SimpleBezierEdgeInternal";function Mg(t){return Q.memo(({id:r,sourceX:i,sourceY:l,targetX:u,targetY:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:v,style:m,sourcePosition:w=Se.Bottom,targetPosition:S=Se.Top,markerEnd:P,markerStart:C,pathOptions:k,interactionWidth:z})=>{const[_,I,H]=Va({sourceX:i,sourceY:l,sourcePosition:w,targetX:u,targetY:c,targetPosition:S,borderRadius:k==null?void 0:k.borderRadius,offset:k==null?void 0:k.offset,stepPosition:k==null?void 0:k.stepPosition}),$=t.isInternal?void 0:r;return E.jsx(Sl,{id:$,path:_,labelX:I,labelY:H,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:v,style:m,markerEnd:P,markerStart:C,interactionWidth:z})})}const Pg=Mg({isInternal:!1}),Ig=Mg({isInternal:!0});Pg.displayName="SmoothStepEdge";Ig.displayName="SmoothStepEdgeInternal";function Tg(t){return Q.memo(({id:r,...i})=>{var u;const l=t.isInternal?void 0:r;return E.jsx(Pg,{...i,id:l,pathOptions:Q.useMemo(()=>{var c;return{borderRadius:0,offset:(c=i.pathOptions)==null?void 0:c.offset}},[(u=i.pathOptions)==null?void 0:u.offset])})})}const FS=Tg({isInternal:!1}),jg=Tg({isInternal:!0});FS.displayName="StepEdge";jg.displayName="StepEdgeInternal";function zg(t){return Q.memo(({id:r,sourceX:i,sourceY:l,targetX:u,targetY:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:v,style:m,markerEnd:w,markerStart:S,interactionWidth:P})=>{const[C,k,z]=Gp({sourceX:i,sourceY:l,targetX:u,targetY:c}),_=t.isInternal?void 0:r;return E.jsx(Sl,{id:_,path:C,labelX:k,labelY:z,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:v,style:m,markerEnd:w,markerStart:S,interactionWidth:P})})}const HS=zg({isInternal:!1}),Rg=zg({isInternal:!0});HS.displayName="StraightEdge";Rg.displayName="StraightEdgeInternal";function Lg(t){return Q.memo(({id:r,sourceX:i,sourceY:l,targetX:u,targetY:c,sourcePosition:f=Se.Bottom,targetPosition:h=Se.Top,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:v,labelBgPadding:m,labelBgBorderRadius:w,style:S,markerEnd:P,markerStart:C,pathOptions:k,interactionWidth:z})=>{const[_,I,H]=Xp({sourceX:i,sourceY:l,sourcePosition:f,targetX:u,targetY:c,targetPosition:h,curvature:k==null?void 0:k.curvature}),$=t.isInternal?void 0:r;return E.jsx(Sl,{id:$,path:_,labelX:I,labelY:H,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:v,labelBgPadding:m,labelBgBorderRadius:w,style:S,markerEnd:P,markerStart:C,interactionWidth:z})})}const VS=Lg({isInternal:!1}),Ag=Lg({isInternal:!0});VS.displayName="BezierEdge";Ag.displayName="BezierEdgeInternal";const Wh={default:Ag,straight:Rg,step:jg,smoothstep:Ig,simplebezier:Cg},Yh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},BS=(t,r,i)=>i===Se.Left?t-r:i===Se.Right?t+r:t,bS=(t,r,i)=>i===Se.Top?t-r:i===Se.Bottom?t+r:t,Xh="react-flow__edgeupdater";function Qh({position:t,centerX:r,centerY:i,radius:l=10,onMouseDown:u,onMouseEnter:c,onMouseOut:f,type:h}){return E.jsx("circle",{onMouseDown:u,onMouseEnter:c,onMouseOut:f,className:Xe([Xh,`${Xh}-${h}`]),cx:BS(r,l,t),cy:bS(i,l,t),r:l,stroke:"transparent",fill:"transparent"})}function US({isReconnectable:t,reconnectRadius:r,edge:i,sourceX:l,sourceY:u,targetX:c,targetY:f,sourcePosition:h,targetPosition:p,onReconnect:y,onReconnectStart:g,onReconnectEnd:v,setReconnecting:m,setUpdateHover:w}){const S=Oe(),P=(I,H)=>{if(I.button!==0)return;const{autoPanOnConnect:$,domNode:B,connectionMode:X,connectionRadius:G,lib:te,onConnectStart:Z,cancelConnection:ee,nodeLookup:J,rfId:N,panBy:U,updateConnection:V}=S.getState(),b=H.type==="target",A=(M,j)=>{m(!1),v==null||v(M,i,H.type,j)},L=M=>y==null?void 0:y(i,M),O=(M,j)=>{m(!0),g==null||g(I,i,H.type),Z==null||Z(M,j)};Ua.onPointerDown(I.nativeEvent,{autoPanOnConnect:$,connectionMode:X,connectionRadius:G,domNode:B,handleId:H.id,nodeId:H.nodeId,nodeLookup:J,isTarget:b,edgeUpdaterType:H.type,lib:te,flowId:N,cancelConnection:ee,panBy:U,isValidConnection:(...M)=>{var j,ne;return((ne=(j=S.getState()).isValidConnection)==null?void 0:ne.call(j,...M))??!0},onConnect:L,onConnectStart:O,onConnectEnd:(...M)=>{var j,ne;return(ne=(j=S.getState()).onConnectEnd)==null?void 0:ne.call(j,...M)},onReconnectEnd:A,updateConnection:V,getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,dragThreshold:S.getState().connectionDragThreshold,handleDomNode:I.currentTarget})},C=I=>P(I,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),k=I=>P(I,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>w(!0),_=()=>w(!1);return E.jsxs(E.Fragment,{children:[(t===!0||t==="source")&&E.jsx(Qh,{position:h,centerX:l,centerY:u,radius:r,onMouseDown:C,onMouseEnter:z,onMouseOut:_,type:"source"}),(t===!0||t==="target")&&E.jsx(Qh,{position:p,centerX:c,centerY:f,radius:r,onMouseDown:k,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function WS({id:t,edgesFocusable:r,edgesReconnectable:i,elementsSelectable:l,onClick:u,onDoubleClick:c,onContextMenu:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,reconnectRadius:g,onReconnect:v,onReconnectStart:m,onReconnectEnd:w,rfId:S,edgeTypes:P,noPanClassName:C,onError:k,disableKeyboardA11y:z}){let _=je(ve=>ve.edgeLookup.get(t));const I=je(ve=>ve.defaultEdgeOptions);_=I?{...I,..._}:_;let H=_.type||"default",$=(P==null?void 0:P[H])||Wh[H];$===void 0&&(k==null||k("011",Zt.error011(H)),H="default",$=(P==null?void 0:P.default)||Wh.default);const B=!!(_.focusable||r&&typeof _.focusable>"u"),X=typeof v<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),G=!!(_.selectable||l&&typeof _.selectable>"u"),te=Q.useRef(null),[Z,ee]=Q.useState(!1),[J,N]=Q.useState(!1),U=Oe(),{zIndex:V=_.zIndex,sourceX:b,sourceY:A,targetX:L,targetY:O,sourcePosition:M,targetPosition:j}=je(Q.useCallback(ve=>{const me=ve.nodeLookup.get(_.source),Ne=ve.nodeLookup.get(_.target);if(!me||!Ne)return Yh;const Pe=jw({id:t,sourceNode:me,targetNode:Ne,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:ve.connectionMode,onError:k}),Ie=kw({selected:_.selected,zIndex:_.zIndex,sourceNode:me,targetNode:Ne,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode});return{...Pe||Yh,zIndex:Ie}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex,k]),be),ne=Q.useMemo(()=>_.markerStart?`url('#${Ba(_.markerStart,S)}')`:void 0,[_.markerStart,S]),re=Q.useMemo(()=>_.markerEnd?`url('#${Ba(_.markerEnd,S)}')`:void 0,[_.markerEnd,S]);if(_.hidden||b===null||A===null||L===null||O===null)return null;const ae=ve=>{var Ie;const{addSelectedEdges:me,unselectNodesAndEdges:Ne,multiSelectionActive:Pe}=U.getState();G&&(U.setState({nodesSelectionActive:!1}),_.selected&&Pe?(Ne({nodes:[],edges:[_]}),(Ie=te.current)==null||Ie.blur()):me([t])),u&&u(ve,_)},fe=c?ve=>{c(ve,{..._})}:void 0,ce=f?ve=>{f(ve,{..._})}:void 0,K=h?ve=>{h(ve,{..._})}:void 0,se=p?ve=>{p(ve,{..._})}:void 0,pe=y?ve=>{y(ve,{..._})}:void 0,we=ve=>{var me;if(!z&&jp.includes(ve.key)&&G){const{unselectNodesAndEdges:Ne,addSelectedEdges:Pe}=U.getState();ve.key==="Escape"?((me=te.current)==null||me.blur(),Ne({edges:[_]})):Pe([t])}};return E.jsx("svg",{style:{zIndex:V},children:E.jsxs("g",{className:Xe(["react-flow__edge",`react-flow__edge-${H}`,_.className,C,{selected:_.selected,animated:_.animated,inactive:!G&&!u,updating:Z,selectable:G}]),onClick:ae,onDoubleClick:fe,onContextMenu:ce,onMouseEnter:K,onMouseMove:se,onMouseLeave:pe,onKeyDown:B?we:void 0,tabIndex:B?0:void 0,role:_.ariaRole??(B?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":B?`${cg}-${S}`:void 0,ref:te,..._.domAttributes,children:[!J&&E.jsx($,{id:t,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:G,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:b,sourceY:A,targetX:L,targetY:O,sourcePosition:M,targetPosition:j,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:ne,markerEnd:re,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),X&&E.jsx(US,{edge:_,isReconnectable:X,reconnectRadius:g,onReconnect:v,onReconnectStart:m,onReconnectEnd:w,sourceX:b,sourceY:A,targetX:L,targetY:O,sourcePosition:M,targetPosition:j,setUpdateHover:ee,setReconnecting:N})]})})}var YS=Q.memo(WS);const XS=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function $g({defaultMarkerColor:t,onlyRenderVisibleElements:r,rfId:i,edgeTypes:l,noPanClassName:u,onReconnect:c,onEdgeContextMenu:f,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:y,onEdgeClick:g,reconnectRadius:v,onEdgeDoubleClick:m,onReconnectStart:w,onReconnectEnd:S,disableKeyboardA11y:P}){const{edgesFocusable:C,edgesReconnectable:k,elementsSelectable:z,onError:_}=je(XS,be),I=jS(r);return E.jsxs("div",{className:"react-flow__edges",children:[E.jsx($S,{defaultColor:t,rfId:i}),I.map(H=>E.jsx(YS,{id:H,edgesFocusable:C,edgesReconnectable:k,elementsSelectable:z,noPanClassName:u,onReconnect:c,onContextMenu:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,onClick:g,reconnectRadius:v,onDoubleClick:m,onReconnectStart:w,onReconnectEnd:S,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:P},H))]})}$g.displayName="EdgeRenderer";const QS=Q.memo($g),Gh=t=>`translate(${t[0]}px,${t[1]}px) scale(${t[2]})`;function GS({children:t}){const r=Oe(),i=Q.useRef(null),[l]=Q.useState(()=>r.getState().transform);return pg(()=>{let u=null;const c=()=>{const f=r.getState().transform;u&&f[0]===u[0]&&f[1]===u[1]&&f[2]===u[2]||(u=f,i.current&&(i.current.style.transform=Gh(f)))};return c(),r.subscribe(c)},[r]),E.jsx("div",{ref:i,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:Gh(l)},children:t})}function KS(t){const r=cc(),i=Q.useRef(!1);Q.useEffect(()=>{!i.current&&r.viewportInitialized&&t&&(setTimeout(()=>t(r),1),i.current=!0)},[t,r.viewportInitialized])}const qS=t=>{var r;return(r=t.panZoom)==null?void 0:r.syncViewport};function ZS(t){const r=je(qS),i=Oe();return Q.useEffect(()=>{t&&(r==null||r(t),i.setState({transform:[t.x,t.y,t.zoom]}))},[t,r]),null}function JS(t){return t.connection.inProgress?{...t.connection,to:wi(t.connection.to,t.transform)}:{...t.connection}}function e_(t){return JS}function t_(t){const r=e_();return je(r,be)}const n_=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function r_({containerStyle:t,style:r,type:i,component:l}){const{nodesConnectable:u,width:c,height:f,isValid:h,inProgress:p}=je(n_,be);return!(c&&u&&p)?null:E.jsx("svg",{style:t,width:c,height:f,className:"react-flow__connectionline react-flow__container",children:E.jsx("g",{className:Xe(["react-flow__connection",Lp(h)]),children:E.jsx(Dg,{style:r,type:i,CustomComponent:l,isValid:h})})})}const Dg=({style:t,type:r=Xn.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:u,from:c,fromNode:f,fromHandle:h,fromPosition:p,to:y,toNode:g,toHandle:v,toPosition:m,pointer:w}=t_();if(!u)return;if(i)return E.jsx(i,{connectionLineType:r,connectionLineStyle:t,fromNode:f,fromHandle:h,fromX:c.x,fromY:c.y,toX:y.x,toY:y.y,fromPosition:p,toPosition:m,connectionStatus:Lp(l),toNode:g,toHandle:v,pointer:w});let S="";const P={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:y.x,targetY:y.y,targetPosition:m};switch(r){case Xn.Bezier:[S]=Xp(P);break;case Xn.SimpleBezier:[S]=Eg(P);break;case Xn.Step:[S]=Va({...P,borderRadius:0});break;case Xn.SmoothStep:[S]=Va(P);break;default:[S]=Gp(P)}return E.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:t})};Dg.displayName="ConnectionLine";const o_={};function Kh(t=o_){Q.useRef(t),Oe(),Q.useEffect(()=>{},[t])}function i_(){Oe(),Q.useRef(!1),Q.useEffect(()=>{},[])}function Og({nodeTypes:t,edgeTypes:r,onInit:i,onNodeClick:l,onEdgeClick:u,onNodeDoubleClick:c,onEdgeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:m,onSelectionEnd:w,connectionLineType:S,connectionLineStyle:P,connectionLineComponent:C,connectionLineContainerStyle:k,selectionKeyCode:z,selectionOnDrag:_,selectionMode:I,multiSelectionKeyCode:H,panActivationKeyCode:$,zoomActivationKeyCode:B,deleteKeyCode:X,onlyRenderVisibleElements:G,elementsSelectable:te,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:N,preventScrolling:U,defaultMarkerColor:V,zoomOnScroll:b,zoomOnPinch:A,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:M,zoomOnDoubleClick:j,panOnDrag:ne,autoPanOnSelection:re,onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ce,onPaneMouseLeave:K,onPaneScroll:se,onPaneContextMenu:pe,paneClickDistance:we,nodeClickDistance:ve,onEdgeContextMenu:me,onEdgeMouseEnter:Ne,onEdgeMouseMove:Pe,onEdgeMouseLeave:Ie,reconnectRadius:Re,onReconnect:Ze,onReconnectStart:nt,onReconnectEnd:Qe,noDragClassName:Ge,noWheelClassName:At,noPanClassName:kt,disableKeyboardA11y:Et,nodeExtent:rt,rfId:ft,viewport:st,onViewportChange:dt,nodesDraggable:cn}){return Kh(t),Kh(r),i_(),KS(i),ZS(st),E.jsx(SS,{onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ce,onPaneMouseLeave:K,onPaneContextMenu:pe,onPaneScroll:se,paneClickDistance:we,deleteKeyCode:X,selectionKeyCode:z,selectionOnDrag:_,selectionMode:I,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:H,panActivationKeyCode:$,zoomActivationKeyCode:B,elementsSelectable:te,zoomOnScroll:b,zoomOnPinch:A,zoomOnDoubleClick:j,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:M,panOnDrag:ne,autoPanOnSelection:re,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:N,onSelectionContextMenu:v,preventScrolling:U,noDragClassName:Ge,noWheelClassName:At,noPanClassName:kt,disableKeyboardA11y:Et,onViewportChange:dt,isControlledViewport:!!st,children:E.jsxs(GS,{children:[E.jsx(QS,{edgeTypes:r,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:Ze,onReconnectStart:nt,onReconnectEnd:Qe,onlyRenderVisibleElements:G,onEdgeContextMenu:me,onEdgeMouseEnter:Ne,onEdgeMouseMove:Pe,onEdgeMouseLeave:Ie,reconnectRadius:Re,defaultMarkerColor:V,noPanClassName:kt,disableKeyboardA11y:Et,rfId:ft}),E.jsx(r_,{style:P,type:S,component:C,containerStyle:k}),E.jsx("div",{className:"react-flow__edgelabel-renderer"}),E.jsx(TS,{nodeTypes:t,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:G,noPanClassName:kt,noDragClassName:Ge,disableKeyboardA11y:Et,nodeExtent:rt,rfId:ft,nodesDraggable:cn}),E.jsx("div",{className:"react-flow__viewport-portal"})]})})}Og.displayName="GraphView";const s_=Q.memo(Og),l_=Hp(),qh=({nodes:t,edges:r,defaultNodes:i,defaultEdges:l,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p=.5,maxZoom:y=2,nodeOrigin:g,nodeExtent:v,zIndexMode:m="basic"}={})=>{const w=new Map,S=new Map,P=new Map,C=new Map,k=l??r??[],z=i??t??[],_=g??[0,0],I=v??ai;Zp(P,C,k);const{nodesInitialized:H}=ba(z,w,S,{nodeOrigin:_,nodeExtent:I,zIndexMode:m});let $=[0,0,1];if(f&&u&&c){const B=vi(w,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:X,y:G,zoom:te}=rc(B,u,c,p,y,(h==null?void 0:h.padding)??.1);$=[X,G,te]}return{rfId:"1",width:u??0,height:c??0,transform:$,nodes:z,nodesInitialized:H,nodeLookup:w,parentLookup:S,edges:k,edgeLookup:C,connectionLookup:P,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:p,maxZoom:y,translateExtent:ai,nodeExtent:I,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:oo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:_,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:f??!1,fitViewOptions:h,fitViewResolver:null,connection:{...Rp},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:l_,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:zp,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},u_=({nodes:t,edges:r,defaultNodes:i,defaultEdges:l,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:v,zIndexMode:m})=>w1((w,S)=>{async function P(){const{nodeLookup:C,panZoom:k,fitViewOptions:z,fitViewResolver:_,width:I,height:H,minZoom:$,maxZoom:B}=S();k&&(await mw({nodes:C,width:I,height:H,panZoom:k,minZoom:$,maxZoom:B},z),_==null||_.resolve(!0),w({fitViewResolver:null}))}return{...qh({nodes:t,edges:r,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:v,defaultNodes:i,defaultEdges:l,zIndexMode:m}),setNodes:C=>{const{nodeLookup:k,parentLookup:z,nodeOrigin:_,nodeExtent:I,elevateNodesOnSelect:H,fitViewQueued:$,zIndexMode:B,nodesSelectionActive:X}=S(),{nodesInitialized:G,hasSelectedNodes:te}=ba(C,k,z,{nodeOrigin:_,nodeExtent:I,elevateNodesOnSelect:H,checkEquality:!0,zIndexMode:B}),Z=X&&te;$&&G?(P(),w({nodes:C,nodesInitialized:G,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:Z})):w({nodes:C,nodesInitialized:G,nodesSelectionActive:Z})},setEdges:C=>{const{connectionLookup:k,edgeLookup:z}=S();Zp(k,z,C),w({edges:C})},setDefaultNodesAndEdges:(C,k)=>{if(C){const{setNodes:z}=S();z(C),w({hasDefaultNodes:!0})}if(k){const{setEdges:z}=S();z(k),w({hasDefaultEdges:!0})}},updateNodeInternals:C=>{const{triggerNodeChanges:k,nodeLookup:z,parentLookup:_,domNode:I,nodeOrigin:H,nodeExtent:$,debug:B,fitViewQueued:X,zIndexMode:G}=S(),{changes:te,updatedInternals:Z}=Fw(C,z,_,I,H,$,G);Z&&(Aw(z,_,{nodeOrigin:H,nodeExtent:$,zIndexMode:G}),X?(P(),w({fitViewQueued:!1,fitViewOptions:void 0})):w({}),(te==null?void 0:te.length)>0&&(B&&console.log("React Flow: trigger node changes",te),k==null||k(te)))},updateNodePositions:(C,k=!1)=>{const z=[];let _=[];const{nodeLookup:I,triggerNodeChanges:H,connection:$,updateConnection:B,onNodesChangeMiddlewareMap:X}=S();for(const[G,te]of C){const Z=I.get(G),ee=!!(Z!=null&&Z.expandParent&&(Z!=null&&Z.parentId)&&(te!=null&&te.position)),J={id:G,type:"position",position:ee?{x:Math.max(0,te.position.x),y:Math.max(0,te.position.y)}:te.position,dragging:k};if(Z&&$.inProgress&&$.fromNode.id===Z.id){const N=_r(Z,$.fromHandle,Se.Left,!0);B({...$,from:N})}ee&&Z.parentId&&z.push({id:G,parentId:Z.parentId,rect:{...te.internals.positionAbsolute,width:te.measured.width??0,height:te.measured.height??0}}),_.push(J)}if(z.length>0){const{parentLookup:G,nodeOrigin:te}=S(),Z=ac(z,I,G,te);_.push(...Z)}for(const G of X.values())_=G(_);H(_)},triggerNodeChanges:C=>{const{onNodesChange:k,setNodes:z,nodes:_,hasDefaultNodes:I,debug:H}=S();if(C!=null&&C.length){if(I){const $=V1(C,_);z($)}H&&console.log("React Flow: trigger node changes",C),k==null||k(C)}},triggerEdgeChanges:C=>{const{onEdgesChange:k,setEdges:z,edges:_,hasDefaultEdges:I,debug:H}=S();if(C!=null&&C.length){if(I){const $=B1(C,_);z($)}H&&console.log("React Flow: trigger edge changes",C),k==null||k(C)}},addSelectedNodes:C=>{const{multiSelectionActive:k,edgeLookup:z,nodeLookup:_,triggerNodeChanges:I,triggerEdgeChanges:H}=S();if(k){const $=C.map(B=>pr(B,!0));I($);return}I(Jr(_,new Set([...C]),!0)),H(Jr(z))},addSelectedEdges:C=>{const{multiSelectionActive:k,edgeLookup:z,nodeLookup:_,triggerNodeChanges:I,triggerEdgeChanges:H}=S();if(k){const $=C.map(B=>pr(B,!0));H($);return}H(Jr(z,new Set([...C]))),I(Jr(_,new Set,!0))},unselectNodesAndEdges:({nodes:C,edges:k}={})=>{const{edges:z,nodes:_,nodeLookup:I,triggerNodeChanges:H,triggerEdgeChanges:$}=S(),B=C||_,X=k||z,G=[];for(const Z of B){if(!Z.selected)continue;const ee=I.get(Z.id);ee&&(ee.selected=!1),G.push(pr(Z.id,!1))}const te=[];for(const Z of X)Z.selected&&te.push(pr(Z.id,!1));H(G),$(te)},setMinZoom:C=>{const{panZoom:k,maxZoom:z}=S();k==null||k.setScaleExtent([C,z]),w({minZoom:C})},setMaxZoom:C=>{const{panZoom:k,minZoom:z}=S();k==null||k.setScaleExtent([z,C]),w({maxZoom:C})},setTranslateExtent:C=>{var k;(k=S().panZoom)==null||k.setTranslateExtent(C),w({translateExtent:C})},resetSelectedElements:()=>{const{edges:C,nodes:k,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:I}=S();if(!I)return;const H=k.reduce((B,X)=>X.selected?[...B,pr(X.id,!1)]:B,[]),$=C.reduce((B,X)=>X.selected?[...B,pr(X.id,!1)]:B,[]);z(H),_($)},setNodeExtent:C=>{const{nodes:k,nodeLookup:z,parentLookup:_,nodeOrigin:I,elevateNodesOnSelect:H,nodeExtent:$,zIndexMode:B}=S();C[0][0]===$[0][0]&&C[0][1]===$[0][1]&&C[1][0]===$[1][0]&&C[1][1]===$[1][1]||(ba(k,z,_,{nodeOrigin:I,nodeExtent:C,elevateNodesOnSelect:H,checkEquality:!1,zIndexMode:B}),w({nodeExtent:C}))},panBy:C=>{const{transform:k,width:z,height:_,panZoom:I,translateExtent:H}=S();return Hw({delta:C,panZoom:I,transform:k,translateExtent:H,width:z,height:_})},setCenter:async(C,k,z)=>{const{width:_,height:I,maxZoom:H,panZoom:$}=S();if(!$)return!1;const B=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:H;return await $.setViewport({x:_/2-C*B,y:I/2-k*B,zoom:B},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),!0},cancelConnection:()=>{w({connection:{...Rp}})},updateConnection:C=>{w({connection:C})},reset:()=>w({...qh()})}},Object.is);function Fg({initialNodes:t,initialEdges:r,defaultNodes:i,defaultEdges:l,initialWidth:u,initialHeight:c,initialMinZoom:f,initialMaxZoom:h,initialFitViewOptions:p,fitView:y,nodeOrigin:g,nodeExtent:v,zIndexMode:m,children:w}){const[S]=Q.useState(()=>u_({nodes:t,edges:r,defaultNodes:i,defaultEdges:l,width:u,height:c,fitView:y,minZoom:f,maxZoom:h,fitViewOptions:p,nodeOrigin:g,nodeExtent:v,zIndexMode:m}));return E.jsx(S1,{value:S,children:E.jsx(X1,{children:E.jsx(uS,{children:w})})})}function a_({children:t,nodes:r,edges:i,defaultNodes:l,defaultEdges:u,width:c,height:f,fitView:h,fitViewOptions:p,minZoom:y,maxZoom:g,nodeOrigin:v,nodeExtent:m,zIndexMode:w}){return Q.useContext(vl)?E.jsx(E.Fragment,{children:t}):E.jsx(Fg,{initialNodes:r,initialEdges:i,defaultNodes:l,defaultEdges:u,initialWidth:c,initialHeight:f,fitView:h,initialFitViewOptions:p,initialMinZoom:y,initialMaxZoom:g,nodeOrigin:v,nodeExtent:m,zIndexMode:w,children:t})}const c_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function f_({nodes:t,edges:r,defaultNodes:i,defaultEdges:l,className:u,nodeTypes:c,edgeTypes:f,onNodeClick:h,onEdgeClick:p,onInit:y,onMove:g,onMoveStart:v,onMoveEnd:m,onConnect:w,onConnectStart:S,onConnectEnd:P,onClickConnectStart:C,onClickConnectEnd:k,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:I,onNodeContextMenu:H,onNodeDoubleClick:$,onNodeDragStart:B,onNodeDrag:X,onNodeDragStop:G,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onSelectionChange:J,onSelectionDragStart:N,onSelectionDrag:U,onSelectionDragStop:V,onSelectionContextMenu:b,onSelectionStart:A,onSelectionEnd:L,onBeforeDelete:O,connectionMode:M,connectionLineType:j=Xn.Bezier,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ae,deleteKeyCode:fe="Backspace",selectionKeyCode:ce="Shift",selectionOnDrag:K=!1,selectionMode:se=ci.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:we=di()?"Meta":"Control",zoomActivationKeyCode:ve=di()?"Meta":"Control",snapToGrid:me,snapGrid:Ne,onlyRenderVisibleElements:Pe=!1,selectNodesOnDrag:Ie,nodesDraggable:Re,autoPanOnNodeFocus:Ze,nodesConnectable:nt,nodesFocusable:Qe,nodeOrigin:Ge=fg,edgesFocusable:At,edgesReconnectable:kt,elementsSelectable:Et=!0,defaultViewport:rt=L1,minZoom:ft=.5,maxZoom:st=2,translateExtent:dt=ai,preventScrolling:cn=!0,nodeExtent:F,defaultMarkerColor:Ce="#b1b1b7",zoomOnScroll:Nt=!0,zoomOnPinch:Gn=!0,panOnScroll:Si=!1,panOnScrollSpeed:_l=.5,panOnScrollMode:uo=yr.Free,zoomOnDoubleClick:ao=!0,panOnDrag:co=!0,onPaneClick:fo,onPaneMouseEnter:ho,onPaneMouseMove:kn,onPaneMouseLeave:En,onPaneScroll:_i,onPaneContextMenu:ki,paneClickDistance:Ei=1,nodeClickDistance:Ni=0,children:Ci,onReconnect:po,onReconnectStart:Mi,onReconnectEnd:Kn,onEdgeContextMenu:go,onEdgeDoubleClick:qn,onEdgeMouseEnter:kl,onEdgeMouseMove:Zn,onEdgeMouseLeave:kr,reconnectRadius:Er=10,onNodesChange:mo,onEdgesChange:El,noDragClassName:Nl="nodrag",noWheelClassName:Cl="nowheel",noPanClassName:tn="nopan",fitView:yo,fitViewOptions:vo,connectOnClick:Ml,attributionPosition:Pi,proOptions:Ii,defaultEdgeOptions:Ti,elevateNodesOnSelect:ji=!0,elevateEdgesOnSelect:Pl=!1,disableKeyboardA11y:zi=!1,autoPanOnConnect:He,autoPanOnNodeDrag:Il,autoPanOnSelection:xo=!0,autoPanSpeed:Ri,connectionRadius:Nr,isValidConnection:Tl,onError:Li,style:Cr,id:Ct,nodeDragThreshold:jl,connectionDragThreshold:Mt,viewport:zl,onViewportChange:Rl,width:Ll,height:Mr,colorMode:Pr="light",debug:Jn,onScroll:fn,ariaLabelConfig:Al,zIndexMode:Ai="basic",...wo},$i){const er=Ct||"1",tr=O1(Pr),$l=Q.useCallback(Ir=>{Ir.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),fn==null||fn(Ir)},[fn]);return E.jsx("div",{"data-testid":"rf__wrapper",...wo,onScroll:$l,style:{...Cr,...c_},ref:$i,className:Xe(["react-flow",u,tr]),id:Ct,role:"application",children:E.jsxs(a_,{nodes:t,edges:r,width:Ll,height:Mr,fitView:yo,fitViewOptions:vo,minZoom:ft,maxZoom:st,nodeOrigin:Ge,nodeExtent:F,zIndexMode:Ai,children:[E.jsx(D1,{nodes:t,edges:r,defaultNodes:i,defaultEdges:l,onConnect:w,onConnectStart:S,onConnectEnd:P,onClickConnectStart:C,onClickConnectEnd:k,nodesDraggable:Re,autoPanOnNodeFocus:Ze,nodesConnectable:nt,nodesFocusable:Qe,edgesFocusable:At,edgesReconnectable:kt,elementsSelectable:Et,elevateNodesOnSelect:ji,elevateEdgesOnSelect:Pl,minZoom:ft,maxZoom:st,nodeExtent:F,onNodesChange:mo,onEdgesChange:El,snapToGrid:me,snapGrid:Ne,connectionMode:M,translateExtent:dt,connectOnClick:Ml,defaultEdgeOptions:Ti,fitView:yo,fitViewOptions:vo,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onNodeDragStart:B,onNodeDrag:X,onNodeDragStop:G,onSelectionDrag:U,onSelectionDragStart:N,onSelectionDragStop:V,onMove:g,onMoveStart:v,onMoveEnd:m,noPanClassName:tn,nodeOrigin:Ge,rfId:er,autoPanOnConnect:He,autoPanOnNodeDrag:Il,autoPanSpeed:Ri,onError:Li,connectionRadius:Nr,isValidConnection:Tl,selectNodesOnDrag:Ie,nodeDragThreshold:jl,connectionDragThreshold:Mt,onBeforeDelete:O,debug:Jn,ariaLabelConfig:Al,zIndexMode:Ai}),E.jsx(s_,{onInit:y,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:I,onNodeContextMenu:H,onNodeDoubleClick:$,nodeTypes:c,edgeTypes:f,connectionLineType:j,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ae,selectionKeyCode:ce,selectionOnDrag:K,selectionMode:se,deleteKeyCode:fe,multiSelectionKeyCode:we,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:Pe,defaultViewport:rt,translateExtent:dt,minZoom:ft,maxZoom:st,preventScrolling:cn,zoomOnScroll:Nt,zoomOnPinch:Gn,zoomOnDoubleClick:ao,panOnScroll:Si,panOnScrollSpeed:_l,panOnScrollMode:uo,panOnDrag:co,autoPanOnSelection:xo,onPaneClick:fo,onPaneMouseEnter:ho,onPaneMouseMove:kn,onPaneMouseLeave:En,onPaneScroll:_i,onPaneContextMenu:ki,paneClickDistance:Ei,nodeClickDistance:Ni,onSelectionContextMenu:b,onSelectionStart:A,onSelectionEnd:L,onReconnect:po,onReconnectStart:Mi,onReconnectEnd:Kn,onEdgeContextMenu:go,onEdgeDoubleClick:qn,onEdgeMouseEnter:kl,onEdgeMouseMove:Zn,onEdgeMouseLeave:kr,reconnectRadius:Er,defaultMarkerColor:Ce,noDragClassName:Nl,noWheelClassName:Cl,noPanClassName:tn,rfId:er,disableKeyboardA11y:zi,nodeExtent:F,viewport:zl,onViewportChange:Rl,nodesDraggable:Re}),E.jsx(R1,{onSelectionChange:J}),Ci,E.jsx(P1,{proOptions:Ii,position:Pi}),E.jsx(M1,{rfId:er,disableKeyboardA11y:zi})]})})}var d_=hg(f_);function h_({dimensions:t,lineWidth:r,variant:i,className:l}){return E.jsx("path",{strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Xe(["react-flow__background-pattern",i,l])})}function p_({radius:t,className:r}){return E.jsx("circle",{cx:t,cy:t,r:t,className:Xe(["react-flow__background-pattern","dots",r])})}var Qn;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Qn||(Qn={}));const g_={[Qn.Dots]:1,[Qn.Lines]:1,[Qn.Cross]:6},m_=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Hg({id:t,variant:r=Qn.Dots,gap:i=20,size:l,lineWidth:u=1,offset:c=0,color:f,bgColor:h,style:p,className:y,patternClassName:g}){const v=Q.useRef(null),{transform:m,patternId:w}=je(m_,be),S=l||g_[r],P=r===Qn.Dots,C=r===Qn.Cross,k=Array.isArray(i)?i:[i,i],z=[k[0]*m[2]||1,k[1]*m[2]||1],_=S*m[2],I=Array.isArray(c)?c:[c,c],H=C?[_,_]:z,$=[I[0]*m[2]+H[0]/2,I[1]*m[2]+H[1]/2],B=`${w}${t||""}`;return E.jsxs("svg",{className:Xe(["react-flow__background",y]),style:{...p,...wl,"--xy-background-color-props":h,"--xy-background-pattern-color-props":f},ref:v,"data-testid":"rf__background",children:[E.jsx("pattern",{id:B,x:m[0]%z[0],y:m[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${$[0]},-${$[1]})`,children:P?E.jsx(p_,{radius:_/2,className:g}):E.jsx(h_,{dimensions:H,lineWidth:u,variant:r,className:g})}),E.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${B})`})]})}Hg.displayName="Background";const y_=Q.memo(Hg);function v_(){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:E.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function x_(){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:E.jsx("path",{d:"M0 0h32v4.2H0z"})})}function w_(){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:E.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 S_(){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:E.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 __(){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:E.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 Ys({children:t,className:r,...i}){return E.jsx("button",{type:"button",className:Xe(["react-flow__controls-button",r]),...i,children:t})}const k_=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function Vg({style:t,showZoom:r=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:u,onZoomIn:c,onZoomOut:f,onFitView:h,onInteractiveChange:p,className:y,children:g,position:v="bottom-left",orientation:m="vertical","aria-label":w}){const S=Oe(),{isInteractive:P,minZoomReached:C,maxZoomReached:k,ariaLabelConfig:z}=je(k_,be),{zoomIn:_,zoomOut:I,fitView:H}=cc(),$=()=>{_(),c==null||c()},B=()=>{I(),f==null||f()},X=()=>{H(u),h==null||h()},G=()=>{S.setState({nodesDraggable:!P,nodesConnectable:!P,elementsSelectable:!P}),p==null||p(!P)},te=m==="horizontal"?"horizontal":"vertical";return E.jsxs(xl,{className:Xe(["react-flow__controls",te,y]),position:v,style:t,"data-testid":"rf__controls","aria-label":w??z["controls.ariaLabel"],children:[r&&E.jsxs(E.Fragment,{children:[E.jsx(Ys,{onClick:$,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:k,children:E.jsx(v_,{})}),E.jsx(Ys,{onClick:B,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:C,children:E.jsx(x_,{})})]}),i&&E.jsx(Ys,{className:"react-flow__controls-fitview",onClick:X,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:E.jsx(w_,{})}),l&&E.jsx(Ys,{className:"react-flow__controls-interactive",onClick:G,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:P?E.jsx(__,{}):E.jsx(S_,{})}),g]})}Vg.displayName="Controls";const E_=Q.memo(Vg);function N_({id:t,x:r,y:i,width:l,height:u,style:c,color:f,strokeColor:h,strokeWidth:p,className:y,borderRadius:g,shapeRendering:v,selected:m,onClick:w}){const{background:S,backgroundColor:P}=c||{},C=f||S||P;return E.jsx("rect",{className:Xe(["react-flow__minimap-node",{selected:m},y]),x:r,y:i,rx:g,ry:g,width:l,height:u,style:{fill:C,stroke:h,strokeWidth:p},shapeRendering:v,onClick:w?k=>w(k,t):void 0})}const C_=Q.memo(N_),M_=t=>t.nodes.map(r=>r.id),Ta=t=>t instanceof Function?t:()=>t;function P_({nodeStrokeColor:t,nodeColor:r,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:u,nodeComponent:c=C_,onClick:f}){const h=je(M_,be),p=Ta(r),y=Ta(t),g=Ta(i),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return E.jsx(E.Fragment,{children:h.map(m=>E.jsx(T_,{id:m,nodeColorFunc:p,nodeStrokeColorFunc:y,nodeClassNameFunc:g,nodeBorderRadius:l,nodeStrokeWidth:u,NodeComponent:c,onClick:f,shapeRendering:v},m))})}function I_({id:t,nodeColorFunc:r,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:u,nodeStrokeWidth:c,shapeRendering:f,NodeComponent:h,onClick:p}){const{node:y,x:g,y:v,width:m,height:w}=je(S=>{const P=S.nodeLookup.get(t);if(!P)return{node:void 0,x:0,y:0,width:0,height:0};const C=P.internals.userNode,{x:k,y:z}=P.internals.positionAbsolute,{width:_,height:I}=en(C);return{node:C,x:k,y:z,width:_,height:I}},be);return!y||y.hidden||!Vp(y)?null:E.jsx(h,{x:g,y:v,width:m,height:w,style:y.style,selected:!!y.selected,className:l(y),color:r(y),borderRadius:u,strokeColor:i(y),strokeWidth:c,shapeRendering:f,onClick:p,id:y.id})}const T_=Q.memo(I_);var j_=Q.memo(P_);const z_=200,R_=150,L_=t=>!t.hidden,A_=t=>{const r={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:r,boundingRect:t.nodeLookup.size>0?Op(vi(t.nodeLookup,{filter:L_}),r):r,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},Zh=(t,r)=>t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height,$_=(t,r)=>Zh(t.viewBB,r.viewBB)&&Zh(t.boundingRect,r.boundingRect)&&t.rfId===r.rfId&&t.panZoom===r.panZoom&&t.translateExtent===r.translateExtent&&t.flowWidth===r.flowWidth&&t.flowHeight===r.flowHeight&&t.ariaLabelConfig===r.ariaLabelConfig,D_="react-flow__minimap-desc";function Bg({style:t,className:r,nodeStrokeColor:i,nodeColor:l,nodeClassName:u="",nodeBorderRadius:c=5,nodeStrokeWidth:f,nodeComponent:h,bgColor:p,maskColor:y,maskStrokeColor:g,maskStrokeWidth:v,position:m="bottom-right",onClick:w,onNodeClick:S,pannable:P=!1,zoomable:C=!1,ariaLabel:k,inversePan:z,zoomStep:_=1,offsetScale:I=5}){const H=Oe(),$=Q.useRef(null),{boundingRect:B,viewBB:X,rfId:G,panZoom:te,translateExtent:Z,flowWidth:ee,flowHeight:J,ariaLabelConfig:N}=je(A_,$_),U=(t==null?void 0:t.width)??z_,V=(t==null?void 0:t.height)??R_,b=B.width/U,A=B.height/V,L=Math.max(b,A),O=L*U,M=L*V,j=I*L,ne=B.x-(O-B.width)/2-j,re=B.y-(M-B.height)/2-j,ae=O+j*2,fe=M+j*2,ce=`${D_}-${G}`,K=Q.useRef(0),se=Q.useRef();K.current=L,Q.useEffect(()=>{if($.current&&te)return se.current=Gw({domNode:$.current,panZoom:te,getTransform:()=>H.getState().transform,getViewScale:()=>K.current}),()=>{var me;(me=se.current)==null||me.destroy()}},[te]),Q.useEffect(()=>{var me;(me=se.current)==null||me.update({translateExtent:Z,width:ee,height:J,inversePan:z,pannable:P,zoomStep:_,zoomable:C})},[P,C,z,_,Z,ee,J]);const pe=w?me=>{var Ie;const[Ne,Pe]=((Ie=se.current)==null?void 0:Ie.pointer(me))||[0,0];w(me,{x:Ne,y:Pe})}:void 0,we=S?Q.useCallback((me,Ne)=>{const Pe=H.getState().nodeLookup.get(Ne).internals.userNode;S(me,Pe)},[]):void 0,ve=k??N["minimap.ariaLabel"];return E.jsx(xl,{position:m,style:{...t,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*L:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof f=="number"?f:void 0},className:Xe(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:E.jsxs("svg",{width:U,height:V,viewBox:`${ne} ${re} ${ae} ${fe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ce,ref:$,onClick:pe,children:[ve&&E.jsx("title",{id:ce,children:ve}),E.jsx(j_,{onClick:we,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:c,nodeClassName:u,nodeStrokeWidth:f,nodeComponent:h}),E.jsx("path",{className:"react-flow__minimap-mask",d:`M${ne-j},${re-j}h${ae+j*2}v${fe+j*2}h${-ae-j*2}z - M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Bg.displayName="MiniMap";const O_=Q.memo(Bg),F_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,H_={[lo.Line]:"right",[lo.Handle]:"bottom-right"};function V_({nodeId:t,position:r,variant:i=lo.Handle,className:l,style:u=void 0,children:c,color:f,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:m,autoScale:w=!0,shouldResize:S,onResizeStart:P,onResize:C,onResizeEnd:k}){const z=vg(),_=typeof t=="string"?t:z,I=Oe(),H=Q.useRef(null),$=i===lo.Handle,B=je(Q.useCallback(F_($&&w),[$,w]),be),X=Q.useRef(null),G=r??H_[i];Q.useEffect(()=>{if(!(!H.current||!_))return X.current||(X.current=u1({domNode:H.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:N,nodeOrigin:U,domNode:V}=I.getState();return{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:N,nodeOrigin:U,paneDomNode:V}},onChange:(Z,ee)=>{const{triggerNodeChanges:J,nodeLookup:N,parentLookup:U,nodeOrigin:V}=I.getState(),b=[],A={x:Z.x,y:Z.y},L=N.get(_);if(L&&L.expandParent&&L.parentId){const O=L.origin??V,M=Z.width??L.measured.width??0,j=Z.height??L.measured.height??0,ne={id:L.id,parentId:L.parentId,rect:{width:M,height:j,...Bp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:M,height:j},L.parentId,N,O)}},re=ac([ne],N,U,V);b.push(...re),A.x=Z.x?Math.max(O[0]*M,Z.x):void 0,A.y=Z.y?Math.max(O[1]*j,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:_,type:"position",position:{...A}};b.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const M={id:_,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};b.push(M)}for(const O of ee){const M={...O,type:"position"};b.push(M)}J(b)},onEnd:({width:Z,height:ee})=>{const J={id:_,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ee}};I.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:G,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:g},keepAspectRatio:v,resizeDirection:m,onResizeStart:P,onResize:C,onResizeEnd:k,shouldResize:S}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[G,h,p,y,g,v,P,C,k,S]);const te=G.split("-");return E.jsx("div",{className:Xe(["react-flow__resize-control","nodrag",...te,i,l]),ref:H,style:{...u,scale:B,...f&&{[$?"backgroundColor":"borderColor"]:f}},children:c})}Q.memo(V_);const B_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function b_(t){return B_[t]??8}function U_(t){const r=new Map;for(const l of t){const u=b_(l.type),c=r.get(u)??[];c.push(l),r.set(u,c)}const i=new Map;for(const[l,u]of r)u.sort((c,f)=>c.name.localeCompare(f.name)),u.forEach((c,f)=>{i.set(c.id,{x:l*240,y:f*92})});return i}const W_={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function Y_({data:t}){return E.jsxs("div",{className:"lp-node",children:[E.jsx("div",{className:"t",children:t.type.split(".").pop()}),E.jsx("div",{className:"n",children:t.name})]})}const X_={load:Y_};function ja({nodes:t,edges:r}){const i=U_(t),l=t.map(c=>({id:c.id,type:"load",position:i.get(c.id)??{x:0,y:0},data:{name:c.name,type:c.type,file:c.file_path}})),u=r.filter(c=>t.some(f=>f.id===c.src)&&t.some(f=>f.id===c.dst)).map(c=>({id:c.id,source:c.src,target:c.dst,animated:c.weight==="critical",style:{stroke:W_[c.weight]||"var(--edge-cheap)",strokeWidth:c.weight==="critical"?2.4:1.2,strokeDasharray:c.confidence<.8?"6 4":void 0},label:c.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:9}}));return E.jsx(Fg,{children:E.jsxs(d_,{nodes:l,edges:u,nodeTypes:X_,fitView:!0,minZoom:.2,"data-testid":"impact-graph",children:[E.jsx(y_,{}),E.jsx(O_,{pannable:!0,zoomable:!0}),E.jsx(E_,{})]})})}const Ya=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],Q_="obsidian",bg="loadpath.theme";function G_(t){return Ya.some(r=>r.id===t)}function Ug(){try{const t=localStorage.getItem(bg)||"";if(G_(t))return t}catch{}return Q_}function Wg(t){document.documentElement.dataset.theme=t;try{localStorage.setItem(bg,t)}catch{}}function K_(){var Re,Ze,nt,Qe,Ge,At,kt,Et,rt,ft,st,dt,cn;const[t,r]=Q.useState("review"),[i,l]=Q.useState(localStorage.getItem("loadpath.repo")||""),[u,c]=Q.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[f,h]=Q.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=Q.useState(null),[g,v]=Q.useState(null),[m,w]=Q.useState([]),[S,P]=Q.useState("review"),[C,k]=Q.useState(""),[z,_]=Q.useState(""),[I,H]=Q.useState(""),[$,B]=Q.useState({}),[X,G]=Q.useState([]),[te,Z]=Q.useState(localStorage.getItem("loadpath.scmRepo")||""),[ee,J]=Q.useState(localStorage.getItem("loadpath.provider")||"github"),[N,U]=Q.useState(localStorage.getItem("loadpath.prNumber")||""),[V,b]=Q.useState(""),[A,L]=Q.useState(Ug),O=Q.useRef(i);O.current=i;const M=F=>{L(F),Wg(F)};Q.useEffect(()=>{St.settings().then(B).catch(()=>{}),St.repos().then(F=>w(F.repos)).catch(()=>{})},[]),Q.useEffect(()=>{if(t!=="architecture"||!i)return;const F=i;let Ce=!1;return St.architecture(F).then(Nt=>{!Ce&&O.current===F&&v(Nt)}).catch(()=>{}),()=>{Ce=!0}},[t,i]);const j=F=>{l(F),localStorage.setItem("loadpath.repo",F)},ne=(F,Ce)=>{c(F),h(Ce),localStorage.setItem("loadpath.base",F),localStorage.setItem("loadpath.head",Ce)},re=(F,Ce,Nt)=>{J(F),Z(Ce),localStorage.setItem("loadpath.provider",F),localStorage.setItem("loadpath.scmRepo",Ce),Nt!==void 0&&(U(Nt),localStorage.setItem("loadpath.prNumber",Nt))},ae=async(F=i)=>{if(!F)return null;const Ce=await St.architecture(F);return O.current===F&&v(Ce),Ce},fe=async()=>{k(""),H(""),_("Tracing load path…"),j(i),ne(u,f);try{const F=await St.review(i,u,f,!0);y(F),P("review"),r("review"),await St.repos().then(Ce=>w(Ce.repos)).catch(()=>{}),await ae(i)}catch(F){k(F instanceof Error?F.message:String(F))}finally{_("")}},ce=async(F=!0)=>{k(""),H(""),_(F?"Indexing…":"Full reindex…"),j(i);try{await St.index(i,F);const Ce=await ae(i);await St.repos().then(Nt=>w(Nt.repos)).catch(()=>{}),Ce!=null&&Ce.indexed&&(P("architecture"),r("architecture"))}catch(Ce){k(Ce instanceof Error?Ce.message:String(Ce))}finally{_("")}},K=async()=>{k(""),H(""),_("Detecting layout…"),j(i);try{const F=await St.init(i);H(F.message),await St.repos().then(Ce=>w(Ce.repos)).catch(()=>{})}catch(F){k(F instanceof Error?F.message:String(F))}finally{_("")}},se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),H("Copied markdown brief")}catch(F){k(F instanceof Error?F.message:String(F))}},pe=async()=>{if(!(p!=null&&p.markdown)||!te||!N){k("Pick a pull request first (Pull requests tab), then post the brief.");return}_("Posting Loadpath brief…");try{const F=await St.postComment(ee,te,Number(N),p.markdown);H(F.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(F){k(F instanceof Error?F.message:String(F))}finally{_("")}},we=async()=>{k(""),_("Fetching pull requests…");try{const F=await St.prs(ee,te);G(F.pull_requests)}catch(F){k(F instanceof Error?F.message:String(F))}finally{_("")}},ve=async F=>{F.preventDefault();const Ce=new FormData(F.currentTarget),Nt={github_token:String(Ce.get("github_token")||""),bitbucket_token:String(Ce.get("bitbucket_token")||""),bitbucket_username:String(Ce.get("bitbucket_username")||""),ai_provider:String(Ce.get("ai_provider")||"none"),ai_api_key:String(Ce.get("ai_api_key")||""),ai_model:String(Ce.get("ai_model")||""),ai_base_url:String(Ce.get("ai_base_url")||""),workspaces:m.length?m.map(Gn=>({path:Gn.path,name:Gn.name})):i?[{path:i,name:i.split(/[\\/]/).pop()}]:[]};B(await St.saveSettings(Nt))},me=async()=>{if(p){_("Residual analysis…");try{const F=await St.residual(p);b(F.note)}catch(F){k(F instanceof Error?F.message:String(F))}finally{_("")}}},Ne=Q.useMemo(()=>S==="architecture"?(g==null?void 0:g.nodes)??[]:(p==null?void 0:p.nodes)??[],[S,g,p]),Pe=Q.useMemo(()=>S==="architecture"?(g==null?void 0:g.edges)??[]:(p==null?void 0:p.edges)??[],[S,g,p]),Ie=p!=null&&p.index?`${p.index.counts.nodes} nodes / ${p.index.counts.edges} edges · ${p.index.incremental?"incremental":"full"}${p.index.stale?" · STALE":""}${p.index.django_boot&&p.index.django_boot!=="off"?` · boot ${p.index.django_boot}`:""}`:g!=null&&g.indexed?`${g.counts.nodes} nodes / ${g.counts.edges} edges indexed${g.stale?" · STALE":""}`:"Not indexed";return E.jsxs("div",{className:"app",children:[E.jsxs("nav",{className:"rail","data-testid":"rail",children:[E.jsx("div",{className:"brand",children:"Loadpath"}),E.jsx("button",{"data-testid":"tab-review",className:t==="review"?"active":"",onClick:()=>r("review"),children:"Review"}),E.jsx("button",{"data-testid":"tab-architecture",className:t==="architecture"?"active":"",onClick:()=>r("architecture"),children:"Architecture"}),E.jsx("button",{"data-testid":"tab-graph",className:t==="graph"?"active":"",onClick:()=>r("graph"),children:"Impact graph"}),E.jsx("button",{"data-testid":"tab-prs",className:t==="prs"?"active":"",onClick:()=>r("prs"),children:"Pull requests"}),E.jsx("button",{"data-testid":"tab-settings",className:t==="settings"?"active":"",onClick:()=>r("settings"),children:"Settings"}),E.jsxs("div",{className:"theme-pick",children:[E.jsx("label",{htmlFor:"theme-select",children:"Theme"}),E.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:F=>M(F.target.value),children:Ya.map(F=>E.jsx("option",{value:F.id,children:F.label},F.id))})]}),E.jsx("div",{style:{flex:1}}),E.jsx("div",{className:"muted",children:z||Ie})]}),E.jsxs("div",{className:"main",children:[E.jsxs("div",{className:"topbar","data-testid":"topbar",children:[m.length>0?E.jsxs("select",{"data-testid":"workspace-select",value:m.some(F=>F.path===i)?i:"",onChange:F=>{F.target.value&&j(F.target.value)},children:[E.jsx("option",{value:"",children:"Indexed repos…"}),m.map(F=>E.jsxs("option",{value:F.path,children:[F.name,F.indexed?` (${F.counts.nodes})`:""]},F.path))]}):null,E.jsx("input",{"data-testid":"repo-path",className:"path",placeholder:"Local monorepo path",value:i,onChange:F=>l(F.target.value)}),E.jsx("input",{"data-testid":"base-ref",value:u,onChange:F=>ne(F.target.value,f),placeholder:"base"}),E.jsx("input",{"data-testid":"head-ref",value:f,onChange:F=>ne(u,F.target.value),placeholder:"head"}),E.jsx("button",{"data-testid":"btn-init",onClick:K,children:"Draft config"}),E.jsx("button",{"data-testid":"btn-index",onClick:()=>ce(!0),children:"Index"}),E.jsx("button",{"data-testid":"btn-review",className:"btn primary",onClick:fe,children:"Review"})]}),C?E.jsx("div",{className:"error",children:C}):null,I?E.jsx("div",{className:"banner","data-testid":"status-note",children:I}):null,((Re=p==null?void 0:p.index)!=null&&Re.stale||g!=null&&g.stale)&&(t==="review"||t==="architecture")?E.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((Ze=p==null?void 0:p.index)==null?void 0:Ze.django_boot)==="failed"||(g==null?void 0:g.django_boot)==="failed"?E.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((nt=p==null?void 0:p.index)==null?void 0:nt.django_boot_detail)||(g==null?void 0:g.django_boot_detail)||"django.setup() failed"}):null,(Qe=p==null?void 0:p.workspace)!=null&&Qe.dirty_overlaps_review&&t==="review"?E.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null,t==="review"&&E.jsxs("div",{className:"content","data-testid":"review-layout",children:[E.jsx("aside",{className:"brief","data-testid":"brief",children:p?E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:`level ${p.confidence.level}`,children:[p.confidence.level.toUpperCase()," — ",p.title]}),p.low_risk?E.jsx("span",{className:"chip",children:"loadpath:low-risk"}):null,p.change_kinds.map(F=>E.jsx("span",{className:"chip",children:F.replaceAll("_"," ")},F)),E.jsx("pre",{className:"headline",children:p.headline}),p.index?E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"kicker",children:"Index"}),E.jsxs("div",{className:"muted",children:["Walked ",p.index.counts.nodes," nodes / ",p.index.counts.edges," edges",p.index.reindex_skipped?" from an unchanged index":p.index.reindexed?" after an incremental refresh":" from the existing index",p.index.django_boot&&p.index.django_boot!=="off"?` · Django boot ${p.index.django_boot}`:"",(Ge=p.workspace)!=null&&Ge.three_dot?" · three-dot range":""]})]}):null,E.jsx("div",{className:"kicker",children:"Read this"}),p.read_order.map(F=>E.jsxs("div",{children:[E.jsx("span",{className:"file",children:F.path}),E.jsx("div",{className:"muted",children:F.why})]},F.path)),E.jsx("div",{className:"kicker",children:"Clusters"}),p.clusters.map(F=>E.jsxs("div",{className:"muted",children:[E.jsx("strong",{children:F.title})," — ",F.files.join(", ")]},F.id)),E.jsx("div",{className:"kicker",children:"Architecture"}),p.findings.filter(F=>!F.waived).length===0?E.jsx("div",{className:"muted",children:p.architecture_note}):p.findings.filter(F=>!F.waived).map(F=>E.jsxs("div",{className:"muted",children:[E.jsx("span",{className:`chip ${F.severity}`,children:F.severity}),F.message]},F.rule+F.message)),E.jsx("div",{className:"kicker",children:"Residual (AI only here)"}),p.residuals.map(F=>E.jsx("div",{className:"muted",children:F},F)),(kt=(At=p.evolution)==null?void 0:At.notes)!=null&&kt.length||(rt=(Et=p.evolution)==null?void 0:Et.hotspots)!=null&&rt.some(F=>F.commits)?E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"kicker",children:"Churn & coupling"}),(((ft=p.evolution)==null?void 0:ft.notes)||[]).map(F=>E.jsx("div",{className:"muted",children:F},F)),(((st=p.evolution)==null?void 0:st.hotspots)||[]).filter(F=>F.commits).slice(0,6).map(F=>E.jsxs("div",{className:"muted",children:[E.jsx("span",{className:"file",children:F.path})," — ",F.commits," commits, bus factor ",F.bus_factor]},F.path))]}):null,E.jsxs("div",{className:"btn-row",children:[E.jsx("button",{className:"btn",onClick:me,children:"Ask configured model"}),E.jsx("button",{className:"btn","data-testid":"btn-copy-markdown",onClick:se,children:"Copy markdown"}),E.jsx("button",{className:"btn","data-testid":"btn-post-comment",onClick:pe,children:"Post to PR"})]}),V?E.jsx("pre",{className:"headline",children:V}):null,E.jsx("div",{className:"kicker",children:"Reviewers"}),E.jsx("div",{className:"muted",children:p.suggested_reviewers.join(", ")||"—"}),(dt=p.knowledge_owners)!=null&&dt.length?E.jsxs("div",{className:"muted",children:["Knowledge: ",p.knowledge_owners.join(", ")]}):null]}):E.jsxs("div",{className:"empty","data-testid":"review-empty",children:[E.jsx("p",{children:"The graph is the architecture. The brief is the force of this diff — not a hunk list."}),E.jsxs("ol",{children:[E.jsx("li",{children:"Point at a Django + React monorepo (or pick an indexed workspace)."}),E.jsxs("li",{children:["Index it. Missing ",E.jsx("code",{children:"loadpath.yml"})," is drafted from ",E.jsx("code",{children:"manage.py"})," and"," ",E.jsx("code",{children:"src/features"}),"."]}),E.jsx("li",{children:"Review a git range, or pick a pull request so base/head become a three-dot merge-base."})]})]})}),E.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?E.jsx(ja,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&E.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[E.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:g!=null&&g.indexed?E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"level high",children:["INDEXED — ",g.counts.nodes," nodes"]}),E.jsxs("span",{className:"chip",children:[g.counts.edges," edges"]}),g.has_config?E.jsx("span",{className:"chip",children:"loadpath.yml"}):null,E.jsxs("div",{className:"muted",style:{marginTop:8},children:[g.indexed_at?`Last index ${g.indexed_at}`:"Indexed",g.incremental?" · incremental":" · full",g.stale?" · stale":"",g.django_boot&&g.django_boot!=="off"?` · Django boot ${g.django_boot}`:""]}),E.jsx("div",{className:"kicker",children:"Bounded contexts"}),Object.values(g.contexts).map(F=>E.jsxs("div",{className:"muted",children:[E.jsx("strong",{children:F.name})," — ",(F.django_apps||[]).join(", ")||"no apps"," ·"," ",(F.owners||[]).join(", ")||"unowned"]},F.name)),E.jsx("div",{className:"kicker",children:"Rules"}),(g.rules||[]).map(F=>E.jsx("div",{className:"muted",children:F},F)),E.jsx("div",{className:"kicker",children:"Findings on the indexed graph"}),g.findings.filter(F=>!F.waived).length===0?E.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):g.findings.filter(F=>!F.waived).map(F=>E.jsxs("div",{className:"muted",children:[E.jsx("span",{className:`chip ${F.severity}`,children:F.severity}),F.message]},F.rule+F.message)),E.jsx("div",{className:"kicker",children:"Types"}),E.jsx("div",{className:"muted",children:Object.entries(g.type_counts||{}).sort((F,Ce)=>Ce[1]-F[1]).slice(0,12).map(([F,Ce])=>`${F.split(".").pop()} ${Ce}`).join(" · ")}),E.jsx("button",{className:"btn",style:{marginTop:12},onClick:()=>ce(!1),"data-testid":"btn-full-reindex",children:"Full reindex"}),E.jsx("button",{className:"btn primary",style:{marginTop:8},onClick:fe,children:"Review against this index"})]}):E.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),E.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:g!=null&&g.indexed?E.jsx(ja,{nodes:g.nodes,edges:g.edges}):null})]}),t==="graph"&&E.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%",display:"flex",flexDirection:"column"},children:[E.jsxs("div",{className:"graph-modes",children:[E.jsx("button",{"data-testid":"graph-mode-review",className:S==="review"?"active":"",onClick:()=>P("review"),children:"This review"}),E.jsx("button",{"data-testid":"graph-mode-architecture",className:S==="architecture"?"active":"",onClick:()=>P("architecture"),children:"Indexed architecture"})]}),Ne.length?E.jsx("div",{style:{flex:1,minHeight:0},children:E.jsx(ja,{nodes:Ne,edges:Pe})}):E.jsx("p",{className:"muted",children:"Index the repo or run a review first."})]}),t==="prs"&&E.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[E.jsxs("div",{className:"topbar",style:{border:0,padding:0,marginBottom:12},children:[E.jsxs("select",{"data-testid":"pr-provider",value:ee,onChange:F=>re(F.target.value,te,N),children:[E.jsx("option",{value:"github",children:"GitHub"}),E.jsx("option",{value:"bitbucket",children:"Bitbucket"})]}),E.jsx("input",{"data-testid":"pr-repo",className:"path",placeholder:"owner/repo",value:te,onChange:F=>re(ee,F.target.value,N)}),E.jsx("button",{"data-testid":"btn-list-prs",onClick:we,children:"List PRs"})]}),X.map(F=>E.jsxs("article",{className:"pr","data-testid":`pr-${F.number}`,children:[E.jsxs("h3",{children:["#",F.number," ",F.title]}),E.jsxs("div",{className:"muted",children:[F.author," · ",F.source_branch," → ",F.target_branch," · ",F.provider]}),E.jsxs("a",{href:F.url,target:"_blank",rel:"noreferrer",children:["Open on ",F.provider]}),E.jsx("div",{children:E.jsx("button",{className:"btn",onClick:()=>{ne(F.base_sha||F.target_branch,F.head_sha||F.source_branch),re(F.provider,F.repo,String(F.number)),r("review")},children:"Review this branch range"})})]},`${F.provider}-${F.number}`))]}),t==="settings"&&E.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:ve,children:[E.jsx("h1",{children:"Keys & providers"}),E.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. GitHub and Bitbucket power the PR list. Indexed repos are remembered as workspaces. AI is used only for residual uncertainty the graph could not close."}),E.jsx("h1",{children:"Theme"}),E.jsx("p",{className:"muted",children:"Appearance is local to this browser. Pick a palette that matches how you review."}),E.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:Ya.map(F=>E.jsxs("button",{type:"button",className:A===F.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${F.id}`,onClick:()=>M(F.id),children:[E.jsx("div",{className:"name",children:F.label}),E.jsx("div",{className:"group",children:F.group})]},F.id))}),E.jsx("label",{children:"GitHub token"}),E.jsx("input",{name:"github_token",type:"password",placeholder:"ghp_…"}),E.jsx("label",{children:"Bitbucket token"}),E.jsx("input",{name:"bitbucket_token",type:"password"}),E.jsx("label",{children:"Bitbucket username (app passwords)"}),E.jsx("input",{name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")}),E.jsx("label",{children:"AI provider"}),E.jsxs("select",{name:"ai_provider",defaultValue:String(((cn=$.ai)==null?void 0:cn.provider)||"none"),children:[E.jsx("option",{value:"none",children:"none (graph only)"}),E.jsx("option",{value:"anthropic",children:"Anthropic"}),E.jsx("option",{value:"openai",children:"OpenAI"}),E.jsx("option",{value:"grok",children:"Grok / xAI"}),E.jsx("option",{value:"deepseek",children:"DeepSeek"}),E.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),E.jsx("option",{value:"ollama",children:"Ollama local"})]}),E.jsx("label",{children:"AI API key"}),E.jsx("input",{name:"ai_api_key",type:"password"}),E.jsx("label",{children:"Model"}),E.jsx("input",{name:"ai_model",placeholder:"optional override"}),E.jsx("label",{children:"Base URL"}),E.jsx("input",{name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),E.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})}Wg(Ug());z0.createRoot(document.getElementById("root")).render(E.jsx(Q.StrictMode,{children:E.jsx(K_,{})})); diff --git a/src/loadpath/static/index.html b/src/loadpath/static/index.html index 7fcbdee..c141537 100644 --- a/src/loadpath/static/index.html +++ b/src/loadpath/static/index.html @@ -9,14 +9,16 @@ try { var t = localStorage.getItem("loadpath.theme"); if (t) document.documentElement.setAttribute("data-theme", t); + var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1 }; + document.documentElement.style.colorScheme = light[t] ? "light" : "dark"; } catch (e) {} })(); - - + +
diff --git a/ui/index.html b/ui/index.html index 6d6d9d9..41e4d2c 100644 --- a/ui/index.html +++ b/ui/index.html @@ -9,6 +9,8 @@ try { var t = localStorage.getItem("loadpath.theme"); if (t) document.documentElement.setAttribute("data-theme", t); + var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1 }; + document.documentElement.style.colorScheme = light[t] ? "light" : "dark"; } catch (e) {} })(); diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 0758671..36ce428 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -1,5 +1,7 @@ -import { useEffect, useMemo, useRef, useState } from "react"; +import { useEffect, useMemo, useRef, useState, type FormEvent } from "react"; import { api } from "./api"; +import { formatWhen, kindLabel, repoName, typeLabel } from "./format"; +import { IconArchitecture, IconGraph, IconPrs, IconReview, IconSettings } from "./icons"; import { ImpactGraph } from "./ImpactGraph"; import { THEMES, applyTheme, readTheme, type ThemeId } from "./themes"; import type { ArchitectureReport, IndexedRepo, PullRequest, Review } from "./types"; @@ -7,6 +9,14 @@ import type { ArchitectureReport, IndexedRepo, PullRequest, Review } from "./typ type Tab = "review" | "architecture" | "graph" | "prs" | "settings"; type GraphMode = "review" | "architecture"; +const TABS: { id: Tab; label: string; testId: string; shortcut: string; icon: typeof IconReview }[] = [ + { id: "review", label: "Review", testId: "tab-review", shortcut: "1", icon: IconReview }, + { id: "architecture", label: "Architecture", testId: "tab-architecture", shortcut: "2", icon: IconArchitecture }, + { id: "graph", label: "Impact graph", testId: "tab-graph", shortcut: "3", icon: IconGraph }, + { id: "prs", label: "Pull requests", testId: "tab-prs", shortcut: "4", icon: IconPrs }, + { id: "settings", label: "Settings", testId: "tab-settings", shortcut: "5", icon: IconSettings }, +]; + export function App() { const [tab, setTab] = useState("review"); const [repo, setRepo] = useState(localStorage.getItem("loadpath.repo") || ""); @@ -179,7 +189,7 @@ export function App() { } }; - const saveSettings = async (evt: React.FormEvent) => { + const saveSettings = async (evt: FormEvent) => { evt.preventDefault(); const fd = new FormData(evt.currentTarget); const body = { @@ -193,10 +203,11 @@ export function App() { workspaces: repos.length ? repos.map((r) => ({ path: r.path, name: r.name })) : repo - ? [{ path: repo, name: repo.split(/[\\/]/).pop() }] + ? [{ path: repo, name: repoName(repo) }] : [], }; setSettings(await api.saveSettings(body)); + setCopied("Settings saved on this machine"); }; const askAi = async () => { @@ -212,6 +223,35 @@ export function App() { } }; + const runReviewRef = useRef(runReview); + runReviewRef.current = runReview; + const tabRef = useRef(tab); + tabRef.current = tab; + + useEffect(() => { + const onKey = (event: KeyboardEvent) => { + const el = event.target as HTMLElement | null; + if (el && (el.tagName === "INPUT" || el.tagName === "TEXTAREA" || el.tagName === "SELECT" || el.isContentEditable)) { + if (event.key === "Escape") (el as HTMLInputElement).blur(); + return; + } + if (event.key === "Escape") { + setError(""); + setCopied(""); + return; + } + const hit = TABS.find((item) => item.shortcut === event.key); + if (hit) setTab(hit.id); + if ((event.metaKey || event.ctrlKey) && event.key === "Enter") { + if (tabRef.current === "settings" || tabRef.current === "prs") return; + event.preventDefault(); + void runReviewRef.current(); + } + }; + window.addEventListener("keydown", onKey); + return () => window.removeEventListener("keydown", onKey); + }, []); + const graphNodes = useMemo(() => { if (graphMode === "architecture") return architecture?.nodes ?? []; return review?.nodes ?? []; @@ -222,34 +262,40 @@ export function App() { }, [graphMode, architecture, review]); const indexLine = review?.index - ? `${review.index.counts.nodes} nodes / ${review.index.counts.edges} edges · ${review.index.incremental ? "incremental" : "full"}${review.index.stale ? " · STALE" : ""}${review.index.django_boot && review.index.django_boot !== "off" ? ` · boot ${review.index.django_boot}` : ""}` + ? `${review.index.counts.nodes} nodes · ${review.index.counts.edges} edges` : architecture?.indexed - ? `${architecture.counts.nodes} nodes / ${architecture.counts.edges} edges indexed${architecture.stale ? " · STALE" : ""}` + ? `${architecture.counts.nodes} nodes · ${architecture.counts.edges} edges` : "Not indexed"; + const findings = (review?.findings || []).filter((f) => !f.waived); + return (
-
- )} + )} - {tab === "graph" && ( -
-
- - -
- {graphNodes.length ? ( -
- + {tab === "prs" && ( +
+
+ + +
- ) : ( -

Index the repo or run a review first.

- )} -
- )} - - {tab === "prs" && ( -
-
- - persistPr(provider, e.target.value, prNumber)} - /> - -
- {prs.map((p) => ( -
-

- #{p.number} {p.title} -

-
- {p.author} · {p.source_branch} → {p.target_branch} · {p.provider} + {prs.length === 0 ? ( +
+

No pull requests loaded

+

Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs.

- - Open on {p.provider} - -
- + ) : ( + prs.map((p) => ( +
+

+ #{p.number} {p.title} +

+
+ {p.draft ? "draft" : p.state} + {p.author} + + {p.source_branch} → {p.target_branch} + +
+
+ + Open on {p.provider} + + +
+
+ )) + )} +
+ )} + + {tab === "settings" && ( +
+
+

Settings

+

+ Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the + graph could not close. +

+
+
+

Appearance

+

Local to this browser. High contrast is a first-class theme, not an afterthought.

+
+ {THEMES.map((t) => ( + + ))}
-
+ +
+

Source control

+ + + + + + +
+
+

Residual AI

+ + + + + + + + + +
+ + )} +
+
+
+ ); +} + +function ReviewBrief({ + review, + findings, + aiNote, + busy, + onAskAi, + onCopy, + onPost, +}: { + review: Review; + findings: Review["findings"]; + aiNote: string; + busy: boolean; + onAskAi: () => void; + onCopy: () => void; + onPost: () => void; +}) { + return ( + <> +
+
+ {review.confidence.level.toUpperCase()} — {review.title} +
+
{review.headline.split("\n")[0]}
+ {review.confidence.reasons?.length ? ( +
    + {review.confidence.reasons.map((reason) => ( +
  • {reason}
  • ))} +
+ ) : null} + {review.low_risk ? low-risk : null} + {review.change_kinds.map((k) => ( + + {kindLabel(k)} + + ))} +
+
+
+
+ {review.confidence.covered_sinks}/{review.confidence.sinks} +
+
Sinks tested
+
+
+
{findings.length}
+
Findings
+
+
+
{review.residuals.length}
+
Residuals
+
+
+
{review.headline}
+ {review.index ? ( +
+ + Index {review.index.counts.nodes} + +
+ Walked {review.index.counts.nodes} nodes / {review.index.counts.edges} edges + {review.index.reindex_skipped + ? " from an unchanged index" + : review.index.reindexed + ? " after an incremental refresh" + : " from the existing index"} + {review.index.django_boot && review.index.django_boot !== "off" + ? ` · Django boot ${review.index.django_boot}` + : ""} + {review.workspace?.three_dot ? " · three-dot range" : ""} +
+
+ ) : null} +
+ + Read this {review.read_order.length} + + {review.read_order.map((f, i) => ( +
+ + {i + 1}. {f.path} + +
{f.why}
+ ))} +
+
+ + Clusters {review.clusters.length} + + {review.clusters.map((c) => ( +
+ {c.title} — {c.files.join(", ")} +
+ ))} +
+
+ + Architecture {findings.length} + + {findings.length === 0 ? ( +
{review.architecture_note}
+ ) : ( + findings.map((f) => ( +
+ {f.severity} + {f.message} +
+ )) )} +
+
+ + Residual {review.residuals.length} + +

AI is only used here, on what the graph could not close.

+ {review.residuals.map((r) => ( +
+ {r} +
+ ))} +
+ {(review.evolution?.notes?.length || review.evolution?.hotspots?.some((h) => h.commits)) ? ( +
+ Churn & coupling + {(review.evolution?.notes || []).map((note) => ( +
+ {note} +
+ ))} + {(review.evolution?.hotspots || []) + .filter((h) => h.commits) + .slice(0, 6) + .map((h) => ( +
+ {h.path} — {h.commits} commits, bus factor {h.bus_factor} +
+ ))} +
+ ) : null} +
+ + + +
+ {aiNote ?
{aiNote}
: null} +
Reviewers
+
{review.suggested_reviewers.join(", ") || "—"}
+ {review.knowledge_owners?.length ? ( +
Knowledge: {review.knowledge_owners.join(", ")}
+ ) : null} + + ); +} - {tab === "settings" && ( -
-

Keys & providers

-

- Tokens stay on this machine in ~/.loadpath/settings.json. GitHub and Bitbucket power the PR list. Indexed - repos are remembered as workspaces. AI is used only for residual uncertainty the graph could not close. -

-

Theme

-

Appearance is local to this browser. Pick a palette that matches how you review.

-
- {THEMES.map((t) => ( - - ))} +function ArchitectureBrief({ + architecture, + busy, + onReindex, + onReview, +}: { + architecture: ArchitectureReport; + busy: boolean; + onReindex: () => void; + onReview: () => void; +}) { + const hits = architecture.findings.filter((f) => !f.waived); + return ( + <> +
+
INDEXED — {architecture.counts.nodes} nodes
+
+ {architecture.indexed_at ? `Last index ${formatWhen(architecture.indexed_at)}` : "Indexed"} + {architecture.incremental ? " · incremental" : " · full"} + {architecture.stale ? " · stale" : ""} + {architecture.django_boot && architecture.django_boot !== "off" + ? ` · Django boot ${architecture.django_boot}` + : ""} +
+ {architecture.counts.edges} edges + {architecture.has_config ? loadpath.yml : null} +
+
+ Bounded contexts + {Object.values(architecture.contexts).map((ctx) => ( +
+ {ctx.name} — {(ctx.django_apps || []).join(", ") || "no apps"} ·{" "} + {(ctx.owners || []).join(", ") || "unowned"} +
+ ))} +
+
+ + Rules {(architecture.rules || []).length} + + {(architecture.rules || []).map((rule) => ( +
+ {rule} +
+ ))} +
+
+ + Findings {hits.length} + + {hits.length === 0 ? ( +
No architecture rule hits on the full graph.
+ ) : ( + hits.map((f) => ( +
+ {f.severity} + {f.message}
- - - - - - - - - - - - - - - - + )) )} +
+
+ Types + + + {Object.entries(architecture.type_counts || {}) + .sort((a, b) => b[1] - a[1]) + .slice(0, 12) + .map(([t, n]) => ( + + + + + ))} + +
{typeLabel(t)}{n}
+
+
+ +
-
+ ); } diff --git a/ui/src/ImpactGraph.tsx b/ui/src/ImpactGraph.tsx index 40d712c..a5a81e5 100644 --- a/ui/src/ImpactGraph.tsx +++ b/ui/src/ImpactGraph.tsx @@ -1,5 +1,16 @@ -import { Background, Controls, MiniMap, ReactFlow, ReactFlowProvider, type Edge, type Node } from "@xyflow/react"; +import { useMemo, useState } from "react"; +import { + Background, + Controls, + MiniMap, + ReactFlow, + ReactFlowProvider, + type Edge, + type Node, + type NodeMouseHandler, +} from "@xyflow/react"; import "@xyflow/react/dist/style.css"; +import { typeLabel } from "./format"; import { layoutNodes, type GraphEdge, type GraphNode } from "./types"; const WEIGHT_COLOR: Record = { @@ -8,10 +19,10 @@ const WEIGHT_COLOR: Record = { critical: "var(--edge-critical)", }; -function LoadNode({ data }: { data: { name: string; type: string } }) { +function LoadNode({ data, selected }: { data: { name: string; type: string }; selected?: boolean }) { return ( -
-
{data.type.split(".").pop()}
+
+
{typeLabel(data.type)}
{data.name}
); @@ -20,12 +31,16 @@ function LoadNode({ data }: { data: { name: string; type: string } }) { const nodeTypes = { load: LoadNode }; export function ImpactGraph({ nodes, edges }: { nodes: GraphNode[]; edges: GraphEdge[] }) { + const [selected, setSelected] = useState(null); + const reduceMotion = + typeof window !== "undefined" && window.matchMedia("(prefers-reduced-motion: reduce)").matches; const pos = layoutNodes(nodes); const rfNodes: Node[] = nodes.map((n) => ({ id: n.id, type: "load", position: pos.get(n.id) ?? { x: 0, y: 0 }, data: { name: n.name, type: n.type, file: n.file_path }, + selected: selected?.id === n.id, })); const rfEdges: Edge[] = edges .filter((e) => nodes.some((n) => n.id === e.src) && nodes.some((n) => n.id === e.dst)) @@ -33,23 +48,58 @@ export function ImpactGraph({ nodes, edges }: { nodes: GraphNode[]; edges: Graph id: e.id, source: e.src, target: e.dst, - animated: e.weight === "critical", + animated: !reduceMotion && e.weight === "critical", style: { stroke: WEIGHT_COLOR[e.weight] || "var(--edge-cheap)", strokeWidth: e.weight === "critical" ? 2.4 : 1.2, strokeDasharray: e.confidence < 0.8 ? "6 4" : undefined, }, label: e.type.replaceAll("_", " "), - labelStyle: { fill: "var(--muted)", fontSize: 9 }, + labelStyle: { fill: "var(--muted)", fontSize: 10 }, })); + const byId = useMemo(() => new Map(nodes.map((n) => [n.id, n])), [nodes]); + const onNodeClick: NodeMouseHandler = (_evt, node) => { + setSelected(byId.get(node.id) ?? null); + }; + return ( - - - - - - - +
+ + setSelected(null)} + proOptions={{ hideAttribution: false }} + data-testid="impact-graph" + > + + + + + + {selected ? ( + + ) : null} +
); } diff --git a/ui/src/format.test.ts b/ui/src/format.test.ts new file mode 100644 index 0000000..0da4eaa --- /dev/null +++ b/ui/src/format.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, it } from "vitest"; +import { formatWhen, kindLabel, repoName, typeLabel } from "./format"; + +describe("display helpers", () => { + it("humanizes kinds and types", () => { + expect(kindLabel("public_contract")).toBe("public contract"); + expect(typeLabel("django.serializer_field")).toBe("serializer_field"); + expect(repoName("/tmp/acme-billing")).toBe("acme-billing"); + }); + + it("formats timestamps or leaves junk alone", () => { + expect(formatWhen("not-a-date")).toBe("not-a-date"); + expect(formatWhen()).toBe(""); + expect(formatWhen("2026-08-14T00:00:00Z")).toMatch(/2026/); + }); +}); diff --git a/ui/src/format.ts b/ui/src/format.ts new file mode 100644 index 0000000..f91da65 --- /dev/null +++ b/ui/src/format.ts @@ -0,0 +1,18 @@ +export function kindLabel(kind: string): string { + return kind.replaceAll("_", " "); +} + +export function typeLabel(type: string): string { + return type.split(".").pop() || type; +} + +export function formatWhen(iso?: string | null): string { + if (!iso) return ""; + const date = new Date(iso); + if (Number.isNaN(date.getTime())) return iso; + return date.toLocaleString(); +} + +export function repoName(path: string): string { + return path.split(/[\\/]/).filter(Boolean).pop() || path; +} diff --git a/ui/src/icons.tsx b/ui/src/icons.tsx new file mode 100644 index 0000000..fe95bda --- /dev/null +++ b/ui/src/icons.tsx @@ -0,0 +1,74 @@ +import type { ReactNode } from "react"; + +type IconProps = { className?: string }; + +function Svg({ className, children }: IconProps & { children: ReactNode }) { + return ( + + ); +} + +export function IconReview({ className }: IconProps) { + return ( + + + + + + ); +} + +export function IconArchitecture({ className }: IconProps) { + return ( + + + + + + + ); +} + +export function IconGraph({ className }: IconProps) { + return ( + + + + + + + ); +} + +export function IconPrs({ className }: IconProps) { + return ( + + + + + + + ); +} + +export function IconSettings({ className }: IconProps) { + return ( + + + + + ); +} diff --git a/ui/src/styles.css b/ui/src/styles.css index 67f7794..2e753e5 100644 --- a/ui/src/styles.css +++ b/ui/src/styles.css @@ -348,100 +348,261 @@ * { box-sizing: border-box; } html, body, #root { height: 100%; margin: 0; } +:root { + --radius: 6px; + --radius-lg: 10px; + --control-h: 32px; + --font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; + --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; + --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent); + --space: 8px; +} body { background: var(--bg); color: var(--ink); - font-family: "IBM Plex Sans", "Segoe UI", sans-serif; + font-family: var(--font); + font-size: 13px; + line-height: 1.45; + -webkit-font-smoothing: antialiased; } button, input, select, textarea { font-family: inherit; + font-size: inherit; color: inherit; } +button:focus-visible, +input:focus-visible, +select:focus-visible, +textarea:focus-visible, +a:focus-visible, +summary:focus-visible { + outline: none; + box-shadow: var(--focus-ring); +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} +.skip { + position: absolute; + left: 12px; + top: -40px; + z-index: 50; + background: var(--surface); + color: var(--ink); + border: 1px solid var(--accent); + border-radius: var(--radius); + padding: 8px 12px; +} +.skip:focus { top: 12px; } .app { display: grid; - grid-template-columns: 220px 1fr; + grid-template-columns: 232px 1fr; height: 100%; } .rail { border-right: 1px solid var(--line); background: linear-gradient(180deg, var(--rail-from), var(--rail-to)); - padding: 20px 14px; + padding: 16px 12px; display: flex; flex-direction: column; - gap: 6px; + gap: 2px; + min-width: 0; } .brand { - font-family: "IBM Plex Mono", monospace; - letter-spacing: 0.18em; - font-size: 12px; + display: flex; + flex-direction: column; + gap: 2px; + padding: 4px 8px 16px; +} +.brand-mark { + font-family: var(--mono); + letter-spacing: 0.16em; + font-size: 11px; text-transform: uppercase; color: var(--accent); - margin: 0 0 18px; + font-weight: 600; } -.rail button, .tab { +.brand-sub { + font-size: 11px; + color: var(--muted); +} +.nav-item { + display: flex; + align-items: center; + gap: 10px; background: transparent; border: 0; text-align: left; padding: 8px 10px; - border-radius: 6px; + border-radius: var(--radius); color: var(--muted); cursor: pointer; + width: 100%; } -.rail button.active, .tab.active { +.nav-item:hover { background: color-mix(in srgb, var(--rail-active) 70%, transparent); color: var(--ink); } +.nav-item.active { background: var(--rail-active); color: var(--ink); + font-weight: 500; } +.nav-item svg { flex-shrink: 0; } .theme-pick { - margin-top: 10px; + margin-top: 14px; display: grid; gap: 4px; + padding: 0 2px; } .theme-pick label { - font-size: 10px; - letter-spacing: 0.08em; + font-size: 11px; + letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); -} -.theme-pick select { + font-weight: 500; +} +.theme-pick select, +.field select, +.field input, +.topbar input, +.topbar select, +.settings input, +.settings select { background: var(--surface); border: 1px solid var(--line); - border-radius: 6px; - padding: 6px 8px; + border-radius: var(--radius); + padding: 0 10px; + height: var(--control-h); width: 100%; } -.main { display: flex; flex-direction: column; min-width: 0; } +.rail-foot { + margin-top: auto; + padding: 12px 8px 4px; + border-top: 1px solid var(--line); + display: grid; + gap: 6px; +} +.kbd-hint { + font-size: 11px; + color: var(--muted); +} +kbd { + font-family: var(--mono); + font-size: 10px; + border: 1px solid var(--line); + border-radius: 4px; + padding: 0 4px; + background: var(--surface); +} +.main { + display: flex; + flex-direction: column; + min-width: 0; + min-height: 0; + position: relative; + background: var(--bg); +} +.progress { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 2px; + overflow: hidden; + z-index: 30; + background: color-mix(in srgb, var(--accent) 20%, transparent); +} +.progress i { + display: block; + height: 100%; + width: 32%; + background: var(--accent); + animation: indeterminate 1.1s ease-in-out infinite; +} +@keyframes indeterminate { + 0% { transform: translateX(-120%); } + 100% { transform: translateX(400%); } +} .topbar { display: flex; - gap: 8px; - align-items: center; - padding: 12px 16px; + gap: 10px; + align-items: flex-end; + padding: 10px 16px; border-bottom: 1px solid var(--line); background: var(--bg-2); + flex-wrap: wrap; } -.topbar input, .topbar select { - background: var(--surface); - border: 1px solid var(--line); - border-radius: 6px; - padding: 8px 10px; - min-width: 160px; +.field { + display: grid; + gap: 4px; + min-width: 0; } -.topbar input.path { flex: 1; } -.topbar button, .btn { +.field > span { + font-size: 11px; + color: var(--muted); + font-weight: 500; +} +.field.path { flex: 1; min-width: 180px; } +.field.ref { width: 132px; flex: 0 0 132px; } +.field.workspace { width: 180px; flex: 0 0 180px; } +.topbar input, .topbar select { min-width: 0; } +.topbar-actions { + display: flex; + gap: 8px; + margin-left: auto; + align-items: center; + padding-bottom: 0; +} +.btn, .topbar button { background: var(--btn); border: 1px solid var(--btn-line); - border-radius: 6px; - padding: 8px 12px; + border-radius: var(--radius); + height: var(--control-h); + padding: 0 12px; cursor: pointer; + font-weight: 500; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + white-space: nowrap; +} +.btn:hover, .topbar button:hover { + filter: brightness(1.08); +} +.btn:disabled, .topbar button:disabled { + opacity: 0.55; + cursor: not-allowed; + filter: none; +} +.btn.primary { + background: var(--btn-primary); + border-color: var(--btn-primary-line); +} +.btn.ghost { + background: transparent; +} +.alerts { + display: grid; + gap: 8px; + padding: 10px 16px 0; } -.btn.primary { background: var(--btn-primary); border-color: var(--btn-primary-line); } -.content { flex: 1; min-height: 0; display: grid; grid-template-columns: 420px 1fr; } +.alerts:empty { display: none; padding: 0; } +.stage { flex: 1; min-height: 0; display: flex; flex-direction: column; } +.content { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(340px, 420px) 1fr; } .brief { overflow: auto; border-right: 1px solid var(--line); - padding: 18px; - background: radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 8%, transparent), transparent 40%), var(--bg); + padding: 16px 18px 24px; + background: radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 8%, transparent), transparent 42%), var(--bg); } -.graph-wrap { position: relative; min-height: 0; } +.graph-wrap { position: relative; min-height: 0; display: flex; flex-direction: column; } .graph-wrap .react-flow { background-color: var(--graph-bg); background-image: @@ -449,75 +610,191 @@ button, input, select, textarea { linear-gradient(90deg, var(--graph-grid) 1px, transparent 1px); background-size: 24px 24px; } -.react-flow__minimap { - background: var(--surface) !important; -} -.react-flow__controls { - box-shadow: none !important; -} +.react-flow__minimap { background: var(--surface) !important; } +.react-flow__controls { box-shadow: none !important; } .react-flow__controls-button { background: var(--surface) !important; border-bottom: 1px solid var(--line) !important; fill: var(--ink) !important; } -h1 { font-size: 18px; margin: 0 0 6px; } -.level { font-family: "IBM Plex Mono", monospace; font-weight: 600; } +h1 { font-size: 18px; margin: 0 0 6px; font-weight: 600; } +h2 { font-size: 13px; margin: 0; font-weight: 600; } +.merge-box { + border: 1px solid var(--line); + background: var(--surface); + border-radius: var(--radius-lg); + padding: 12px 14px; + margin-bottom: 12px; +} +.merge-box.high { border-color: color-mix(in srgb, var(--high) 55%, var(--line)); } +.merge-box.medium { border-color: color-mix(in srgb, var(--medium) 55%, var(--line)); } +.merge-box.low { border-color: color-mix(in srgb, var(--low) 55%, var(--line)); } +.level { font-family: var(--mono); font-weight: 600; font-size: 14px; } .level.high { color: var(--high); } .level.medium { color: var(--medium); } .level.low { color: var(--low); } -.kicker { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; margin: 16px 0 6px; } +.merge-title { margin-top: 4px; font-size: 13px; color: var(--ink); } +.reasons { margin: 10px 0 0; padding: 0 0 0 18px; color: var(--muted); } +.reasons li { margin: 0 0 4px; } +.metrics { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 8px; + margin: 0 0 14px; +} +.metric { + border: 1px solid var(--line); + border-radius: var(--radius); + background: var(--surface); + padding: 8px 10px; +} +.metric .n { + font-family: var(--mono); + font-size: 16px; + font-weight: 600; + font-variant-numeric: tabular-nums; +} +.metric .l { font-size: 11px; color: var(--muted); margin-top: 2px; } +.section { + border-top: 1px solid var(--line); + padding: 8px 0 4px; +} +.section > summary { + cursor: pointer; + list-style: none; + display: flex; + align-items: center; + justify-content: space-between; + color: var(--muted); + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.07em; + font-weight: 600; + padding: 6px 0; +} +.section > summary::-webkit-details-marker { display: none; } +.section > summary .count { + font-family: var(--mono); + letter-spacing: 0; + text-transform: none; + border: 1px solid var(--line); + border-radius: 999px; + padding: 0 7px; + height: 18px; + display: inline-flex; + align-items: center; + font-size: 11px; +} +.kicker { + color: var(--muted); + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 16px 0 6px; + font-weight: 600; +} .chip { - display: inline-block; + display: inline-flex; + align-items: center; font-size: 11px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); margin: 0 6px 6px 0; color: var(--muted); + background: var(--surface); } .chip.blocker { color: var(--low); border-color: var(--low); } .chip.warning { color: var(--medium); border-color: var(--medium); } -.file { font-family: "IBM Plex Mono", monospace; font-size: 12px; color: var(--accent); } +.chip.open { color: var(--high); border-color: color-mix(in srgb, var(--high) 50%, var(--line)); } +.file { font-family: var(--mono); font-size: 12px; color: var(--accent); } +.read-item, .finding, .residual { + padding: 8px 0; + border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent); +} +.read-item:last-child, .finding:last-child { border-bottom: 0; } +.read-item .why { color: var(--muted); font-size: 12px; margin-top: 2px; } .muted { color: var(--muted); font-size: 13px; line-height: 1.45; } -.error { color: var(--low); padding: 8px 16px; } +.error { + color: var(--low); + padding: 8px 12px; + border: 1px solid var(--low); + background: color-mix(in srgb, var(--low) 10%, var(--surface)); + border-radius: var(--radius); + display: flex; + justify-content: space-between; + gap: 12px; + align-items: flex-start; +} .banner { - margin: 0 16px 10px; padding: 8px 12px; - border-radius: 8px; + border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface); font-size: 13px; line-height: 1.45; + display: flex; + justify-content: space-between; + gap: 12px; + align-items: flex-start; } .banner.warn { border-color: var(--medium); color: var(--medium); } .banner.stale { border-color: var(--low); color: var(--low); } +.banner .dismiss { + background: transparent; + border: 0; + color: inherit; + cursor: pointer; + height: auto; + padding: 0 2px; + opacity: 0.7; +} .empty { - padding: 8px 0; + padding: 24px 8px; color: var(--muted); font-size: 13px; line-height: 1.55; } -.empty ol { margin: 8px 0 0 18px; padding: 0; } -.empty code { font-family: "IBM Plex Mono", monospace; font-size: 12px; color: var(--accent); } +.empty h2 { font-size: 16px; color: var(--ink); margin-bottom: 8px; } +.empty ol { margin: 12px 0 0 18px; padding: 0; } +.empty code, code { font-family: var(--mono); font-size: 12px; color: var(--accent); } .btn-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .pr-list { padding: 16px; overflow: auto; } +.pr-toolbar { + display: flex; + gap: 8px; + align-items: flex-end; + margin-bottom: 14px; +} +.pr-toolbar .field { flex: 1; } +.pr-toolbar .field.provider { flex: 0 0 140px; } .pr { border: 1px solid var(--line); background: var(--surface); padding: 12px 14px; - border-radius: 8px; + border-radius: var(--radius-lg); margin-bottom: 10px; } -.pr h3 { margin: 0 0 4px; font-size: 14px; } -.settings { padding: 24px; max-width: 720px; display: grid; gap: 10px; } -.settings label { font-size: 12px; color: var(--muted); } -.settings input, .settings select { - background: var(--surface); +.pr h3 { margin: 0 0 4px; font-size: 14px; font-weight: 600; } +.pr-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 6px 0 10px; } +.pr-actions { display: flex; gap: 8px; align-items: center; } +.settings { + padding: 24px; + max-width: 760px; + overflow: auto; + display: grid; + gap: 16px; +} +.settings-card { border: 1px solid var(--line); - border-radius: 6px; - padding: 8px 10px; - width: 100%; + background: var(--surface); + border-radius: var(--radius-lg); + padding: 16px; + display: grid; + gap: 8px; } +.settings-card h2 { font-size: 14px; margin-bottom: 2px; } +.settings label { font-size: 12px; color: var(--muted); font-weight: 500; } .theme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); @@ -525,11 +802,12 @@ h1 { font-size: 18px; margin: 0 0 6px; } } .theme-swatch { border: 1px solid var(--line); - background: var(--surface); - border-radius: 8px; + background: var(--bg); + border-radius: var(--radius); padding: 10px; text-align: left; cursor: pointer; + height: auto; } .theme-swatch.active { border-color: var(--accent); @@ -537,34 +815,98 @@ h1 { font-size: 18px; margin: 0 0 6px; } } .theme-swatch .name { font-size: 13px; font-weight: 600; } .theme-swatch .group { font-size: 11px; color: var(--muted); } -.headline { white-space: pre-wrap; font-family: "IBM Plex Mono", monospace; font-size: 12px; color: var(--muted); } +.headline { white-space: pre-wrap; font-family: var(--mono); font-size: 12px; color: var(--muted); margin: 8px 0 0; } .graph-modes { display: flex; - gap: 6px; - padding: 10px 14px; + gap: 8px; + align-items: center; + padding: 8px 14px; border-bottom: 1px solid var(--line); background: var(--bg-2); } -.graph-modes button { - background: transparent; +.seg { + display: inline-flex; border: 1px solid var(--line); border-radius: 999px; - padding: 4px 10px; + padding: 2px; + background: var(--surface); +} +.seg button, .graph-modes button { + background: transparent; + border: 0; + border-radius: 999px; + padding: 4px 12px; color: var(--muted); cursor: pointer; + height: 26px; } -.graph-modes button.active { +.seg button.active, .graph-modes button.active { background: var(--rail-active); color: var(--ink); - border-color: var(--btn-primary-line); } +.legend { + margin-left: auto; + display: flex; + gap: 12px; + color: var(--muted); + font-size: 11px; +} +.legend i { + display: inline-block; + width: 14px; + height: 2px; + margin-right: 6px; + vertical-align: middle; + background: var(--edge-cheap); +} +.legend i.exp { background: var(--edge-expensive); } +.legend i.crit { background: var(--edge-critical); height: 3px; } +.legend i.dash { border-top: 2px dashed var(--muted); background: none; height: 0; } +.inspector { + position: absolute; + top: 12px; + right: 12px; + z-index: 5; + width: 260px; + background: var(--surface); + border: 1px solid var(--line); + border-radius: var(--radius-lg); + padding: 10px 12px; + box-shadow: 0 8px 24px var(--shadow); +} +.inspector .t { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; } +.inspector .n { font-weight: 600; margin: 4px 0; } .lp-node { padding: 8px 10px; - border-radius: 8px; + border-radius: var(--radius); border: 1px solid var(--node-line); background: var(--node-bg); - min-width: 150px; + min-width: 168px; box-shadow: 0 0 0 1px var(--shadow); } .lp-node .t { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; } .lp-node .n { font-size: 13px; font-weight: 600; } +.lp-node.selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); } +.type-table { + width: 100%; + border-collapse: collapse; + font-size: 12px; +} +.type-table td { padding: 3px 0; } +.type-table td:last-child { + text-align: right; + font-family: var(--mono); + font-variant-numeric: tabular-nums; + color: var(--muted); +} +@media (prefers-reduced-motion: reduce) { + .progress i { animation: none; width: 100%; } + * { scroll-behavior: auto !important; } +} +@media (max-width: 960px) { + .app { grid-template-columns: 56px 1fr; } + .brand-sub, .nav-item span, .theme-pick, .kbd-hint, .rail-foot .muted { display: none; } + .nav-item { justify-content: center; padding: 10px; } + .content { grid-template-columns: 1fr; } + .brief { border-right: 0; border-bottom: 1px solid var(--line); max-height: 42vh; } +} diff --git a/ui/src/themes.test.ts b/ui/src/themes.test.ts index 769b01f..1159cf9 100644 --- a/ui/src/themes.test.ts +++ b/ui/src/themes.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { THEMES, isThemeId } from "./themes"; +import { THEMES, colorSchemeFor, isThemeId } from "./themes"; describe("themes", () => { it("ships a dozen named palettes", () => { @@ -9,5 +9,7 @@ describe("themes", () => { expect(THEMES.some((t) => t.group === "dark")).toBe(true); expect(isThemeId("nord")).toBe(true); expect(isThemeId("not-a-theme")).toBe(false); + expect(colorSchemeFor("obsidian")).toBe("dark"); + expect(colorSchemeFor("paper")).toBe("light"); }); }); diff --git a/ui/src/themes.ts b/ui/src/themes.ts index 85760ac..91916f5 100644 --- a/ui/src/themes.ts +++ b/ui/src/themes.ts @@ -46,8 +46,13 @@ export function readTheme(): ThemeId { return DEFAULT_THEME; } +export function colorSchemeFor(id: ThemeId): "light" | "dark" { + return THEMES.find((t) => t.id === id)?.group === "light" ? "light" : "dark"; +} + export function applyTheme(id: ThemeId) { document.documentElement.dataset.theme = id; + document.documentElement.style.colorScheme = colorSchemeFor(id); try { localStorage.setItem(STORAGE_KEY, id); } catch { diff --git a/ui/src/types.ts b/ui/src/types.ts index 8f27e9b..f93121c 100644 --- a/ui/src/types.ts +++ b/ui/src/types.ts @@ -192,7 +192,7 @@ export function layoutNodes(nodes: GraphNode[]): Map a.name.localeCompare(b.name)); list.forEach((n, i) => { - pos.set(n.id, { x: layer * 240, y: i * 92 }); + pos.set(n.id, { x: layer * 260, y: i * 108 }); }); } return pos; From cfcd9407e88645e7488dc705f68173a4c754d27e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 15 Aug 2026 00:04:48 +0000 Subject: [PATCH 2/3] Fix review-box duplication, graph zoom, and keyboard hint. Dedupe confidence reasons in the merge box, keep fitView from shrinking nodes unreadably, and spell Ctrl+Enter so the shortcut hint is readable. Refresh README screenshots. Co-authored-by: Damon --- docs/screenshots/architecture.png | Bin 250600 -> 179337 bytes docs/screenshots/graph.png | Bin 169004 -> 188172 bytes docs/screenshots/pull-requests.png | Bin 42150 -> 55294 bytes docs/screenshots/review.png | Bin 285822 -> 175709 bytes docs/screenshots/settings.png | Bin 56942 -> 77253 bytes .../{index-CYVEhMj3.js => index-Dga6v2BT.js} | 3 +-- src/loadpath/static/index.html | 2 +- ui/src/App.tsx | 9 ++++----- ui/src/ImpactGraph.tsx | 3 ++- 9 files changed, 8 insertions(+), 9 deletions(-) rename src/loadpath/static/assets/{index-CYVEhMj3.js => index-Dga6v2BT.js} (92%) diff --git a/docs/screenshots/architecture.png b/docs/screenshots/architecture.png index a965ff4b774c8b9dd47ad9f262f19499db8dcacf..8060ac14b933df5f4cd134f9cef3a2d3f3b0ecba 100644 GIT binary patch literal 179337 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%0DkvD3)N!`Y@O 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

Ki9*W~#j9QYC8*^mA}S7cYl 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 literal 250600 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

USAfVXFc_g41${gGMl^j{U= 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

aD(?gr&laDFhaNO1OBW86GsMPwf%yUg8io9mi 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%0ALD(uHs92m7IjZ{gV`25_^fX8 z$VuzFfFaSFz7!%HnN^`X;42lJr2r{%SXaJrpy^Y*LNQu59KLk$UYg7_dn5lU-H=cx zcYHZYd0`}u2)UX2aFz#fz_9mCOCA+AbxTzozLDmqvI4HNM}D8%sqs8nNOCy$0W66h z`>NiFe^s9Ta}M|)4Eq+Cdci!7-~X;6udP+xmc24xdFar?Hd%KuhwIu74NJhY;yJUH zRn{h<3Z_)iMPDO>N^at)62jB%64wX*RGdV^P*bG{L)9^l5!~;4F#-g5_N}3*u#kEmDaiw zr{ga^GrVz9atqEATGx<|(`^Gb^Jn=Dmj$bG1R7^=(Ljk2Avg2*GUNGDQ-3|*TbYoM z?~~rBZWzzRRuvHIn-13J;Yh8C1-hLo+D7f-WDPj8k`t&l{QsY}zB(+*ZS9+_Vjv}g zG>Fn5Ad(WZ1rdgBlt#L{OF=*yMmnVh1f&~8x|^X}hOVLWTLbR1&v~!Uzr1kflJz`m z-Rq8DP=LZ7Kz^A?FDLE zuB-PJ zY2kMy&HkVI^JY>Pjn)zWVGg0qPJ>zUvJ>|${`np2 zP;f@*8q9IfrQjh4?pqTEEwvq~Bg__}C?lADkst2xV+Tjzg+orh`m)GKt2iYgJ)fH+ zUshhs;*4a9C*O0BU61Qep1ydQTK0s1qj!mGaY-p+2nt9*++^f$qz{>AVeJ1Hi{kvn z>zFR;hq*Elc4$j)JOQ2;OVSE@;}69n{^AOa7B*g}1&+@-EQo_(uaA!USU_LWYW6j# z?=qjl0ix*j+ML0aYL?YHN`kF&+1Z9=B?`r~2GZkzE%meZ0b%Wa)kAC`Lx>N$5jCjh z0p8@uftpCb%x{~W4QnzjAOP5@zdUV38C?h7r*B&hoNChBo8_~9pzeL)hVd;42OTh0 z5v$v5kPG3%bWj-JD3E7Nhuyw>E}4W8hj9Mlr4MxZ>5aq0Nc^;Mu(Q)YPhQ$Q<&cy{ zG3VdP2x*#z8@n8K;^1`A6DV9^?_LI>$d zYcImnKRtwbM1lA;oRhB1!hkSLp|**!qsqtQ`-qa1eJ!twL&q%sgw^zTml8TK=0Y#Q zhb$gqqfv=LjUl!Ww{iSxtK4qf_&N8v00wwADJsZN%3```N+Qb{u4uyl=!KyAQe0>H z+@niulj|F^%NA)JYGdTB{ga!YB53-lstPBaCI z7bS8OmZw#wHuj$EHXVHin7P98;gcu`of&-xa!*Sc)*(T%Hq*={o_=ABwEEkkHOf&0 zCfU);nKc}T5Xd5+BD2BN2PiziPoV_`)p6EF0{QN~6;NF>FSwI+(pNqVK+%G|d^C|) zt8i!<~Z5O6xH>GCh`8T!Ff1pOLIZ)@=91I}AF^AOd` zsww|?#{(1OS*}r}r^fNnVQ+Mxsf;jEYn)YB%i}oXCB8yC=bKag8}2g`6P8_)0~~f# zFdJbFxYW7r^W?yjv!ToCJ&)x_@FUOeB=%)}&j1~%=D|~(Ej=K}e)r2FJYf*D^g3_5 zjyESdrDwAlP<#H>LoL$egXn$Qb&k7vR^$hGvD+ML}`fkX;!kR&IYn2BOkAI}AH;V4bQZ z23f=y3R$Xk^uJ`Ft;=;fK+D;e8I7WJMwl#*uU0+lKXbMtzBnPgR3!J?Iv-C?$lcm) z_}MyqJ|QIl^SGX1^cp*RT+%`051aP(0p0k(6PLW=4uGlj9(eMS)nCMWs%|!3oM1f+ zb#l9o91V6#6oPKWJ8`EG&2tWP+b2(3y?Sz_1n~a7neIGUDNn#DaJA}dy?Lkr@JpuG zxiZL)t~U?wi)#RY!SP_)?~6(sPv6B$0aO?C+DZ@=oGycYJ+rB+drbC{#|1z7!gW^& z+D=s!b#cJnEhN!~5V&tLpXq1e5)-to{{-sMdqWOTRN3u}0GyGywk+}pB+n=#x^Cx@ zXQ1A<)8vHVlUDt9E=YH_{G93ESJ6Tii{NUsf(AP;q5Pb?HpUB-7Si`p_WMX%P;+Ew z0mWO^{naaDOxFXHFfGTR-D-Xo@+-|)alQ}3Qx~Zu%SEJjVb4;|z*(|jK zR-TAc-<7S5w0~!?juh)RW}xLO?}b~Rgn+&&2+w|Gp)+$cScQFfHl*x8XxC*4c!sz@ zRaeFVg?w4d>Jw{j{MNHxSDGEIcd9t&D6;kvITq;d;0Vlp3rkCTR38mwFc;>HL6VL;9T(~DiAkDFZ+yEz#M><;m1VC9-!u%}J ziZ(unz)15<0UqNN04QV;jy_y33(E9R%$s+5F@236YlB&w-kN5Ep|W$^m-_(iMw^7u zxHo3oDyyOhkh@poM?u?{G6<<^#03{lbLPBW*HLX%H zxqxHbq|&}_Z&+o&dG%`lST=0C()X37q2{Y#tud<`Y`3geRFzYxUvgl2=gx%~x{%;Z z&0|A-jX%S1qF({`m&fpsw=k`nGmni^GhH8vDLiLNg?Uw6SQ6+$>og)b1_bUmf%Uv@ z6J>8&uz}L3I9(2rv_R~G{j;3xgrLqUeFFENKxsgObh`IR<0lI2b%Aj&zdRsWv_?kKdZdHWvTfP>6A$<|~i24>tvPhxLVTe04Kpc@aM zB3-VJ-pVm{6qXFbq6yk+DU_`3cF&aWMKVPyOYeVk0m@BLC{hyB$}tVU6%?uu5tZ>~ z?gzMB#Jv(4!0(RtP;O?Q4-LtzFKPZHLbpw9sHx0_NeaX(&~f}0tM=HRec@1@TJchy znU27R2XC)`5eG^YLu}v4Pu~$Ngv`4b?GRH`ym$|xTT9vXY_JBxKv%|#|K%c5%{aJ$ z^X!t=x&&?a+{$0iJ-$xz!W=pNd5OkZ<;<>RLHagax<^8c$m4hMDV+$i21u$CZ-hGo zFD+E$jWQf&WI!aV?k+mVh34AK@FO&2(77haIuf&lc6a)KUJ;Vx-CoY__Ygsu1?Jce zlz`E43-uzaG7e7ri>twoQ8W@>RWCn0S8w?79||n>|J{k8D{(z}6S=;e&X^egd#CDM z5)e2d5~fi!!8`x4i6P2E1k+hAgD}+{pa;rbMM_eaEaHzsmc%ZBf}w&8^6#{ zNL!PHeT2HKzGcjzvF{8UEN;T039m>Ti{jXMElMZ$2YDt8ZLg>VT`(`5PcRn`yVtOj z*}gTJA9c;$6p3{c;Inq-uwTaxzFmc=IpisjBjeai&uVT=M2&I)0xghlr^JOvOk_qo zCL-NbK>bG649ypg*urkWsmSvK%50B~$JEN2*(3)Pa&<;KM_h~?psK4nTm+~M`35+h zfO-a$g>#`-E*x(UWgpjXXtEH_Bstd915AX&$4fDnO3bC;ed`sbSX6idl9fv$enzes zFEP2eUn5TW^%gK_u*yA~XCHC1wp#%A7hj221CL=GL7Aj*K(}^~fW^c0%hNmU_|M3i zVJreP?j2y8;h1zeokh z!n8;*zc9MMUEW#}jZkD6mlFH7)T(#IXQ4h}Q4nyuk!=^D-1s9pZ@+I7Rx;FR#)t+m z55cPid}eK1sG)IPz_qI&Sn!{;Cl*x@b+}rMT2bDbL7AmhU8B(cPf*$gHd2lf_O*f1 zDC10t!+*@8GEZsk=EV0;&(}#=$AM>;9g#}KQUcgh?Z$io@#L%R6u{)IzjTisIwrs~ z8V2e__*O%q0;*;Nx7s4@s5})4letUQ5-FbQoT=vDhV>B24y%ZVT}@@$OWm06D1@OP zrqu4GR;4=2VM*mScc*Ehnii&a)y;{xO3dyK&g(oX2YA56mG#}pB^~i;M|)SQ-_+r2 z(xm`;sEkV8w{LuA!bAy*l`mXJ9FJ!l8<>xH{Y+DELMTA{w)9*C`jlKUCm0cFn!9#@ zwUVMkhGDV*wxy?^D6_F-y;;)vC^f?sE2bqXowL`@C_(~bd`+2^-$EnGj5Z%8rpo!r z5=QD9KFF^^?7I_<64#SETMqhFVHP5{j0L$5Fkpn!kuNaG@lJTD7;Kt3dsF;TQ*(ac z<8iIIkl0}x2!7vq8fZQrETw{?h#QnqV$OW-QvgcnRaGh6L$mC$LA4AV%B#%UK}k zaMp?m9Umk;e>??&3UuPB!SbWE?n`b@Gds8$95N%Oemz&IS^rSdR?$3sUPb|h{3*ao z_(5g+VY8dghVr1J$}$F+;pI9hf_@C*gS!XB?a0@@NPKzXss_St^m7zUuq4WTFJNKR zHPs|BykRkyvZX5MOwa4xXm^J;JL@d}t+``7p}Pu!Hv;hAhwGR^hQs+~Vs||A>ma=_ z$L7MS?Fv(yTqn;Y?iqqy;N>XQzy?}TU7(;U;J0k<#$>QnPZ~QOrp<8wE%==^g9et?7E1kBTTf*Z(<)z!`HeBiLT%S7IsvK&iVY|XEM0n;Y z>Hc)o$*gL>LF#(e@nM2$R9eJ_KHLyU$l%5e-&29=22#Ti8bHQDU<=12JH1c@wrdp0 z5x*E`n0H6bFviG;me|}iYR`s|=6v#T`*CFh+sAZ$<#wPz1vJ`sf5>@=X)z(BujqRK zoiAd!V;iW`H9xzL@Mr6lhc=ZD^#;SlfQ^U_F5wj#gQkGbrS4OgV-Eo^Ar=3#P`JTh zci|a<>a%!*sV(Gtvgmw$0`aSMK1a}+RP+sAQW8I_-Ztx}0DawSN@O(ooRFK&c>Z4d zh5;i?I7g76Jq4JZr+s-${c!B5|DtnrI$+InN~C5<=YrK0qMTBG%;|emSGS1)6JWef z;C2%`g~IuxaNQgk#=XYB{ZN9Nw&pVdNfWuLuLg)LRwUPSeA2@S|1c*IO2F5}sq_Y# zU&S(5!(g914z>;9R35(UzjLs#)58f$pR~PyOSHo`J${?4JRFsQn{~E~pz@-+&gDN} z5_q@H(+m8=@DX*-3%KdynHs<{8G1wI_g z&`h~2-vX5C=#5?d2W6sppnyIse$?~~ix`NK&Mt=`OBxyj(tmBFXzyu4E1^nat8kz& z8AH;t(NL&@*KV7e4jRR8aN>moBFGaJQGOxRzSfJ=Y@N<0LMlvXR`lwQM`0b4Dk#b7 zlB-?3oj2yKJ6U_DwXY~csA8$cT`g>pWXd=4cqa~7X8vlKf^4qralw0>kU0VXrZyld z^ZckG>HzFb%DgJV{fv{8kb>+<2}xPO)e=DJ$^{zb42wI>*}$(pGCP(DL_095lDQQ?1B{CV(}?2ew#~C zn7$aMwV<(|-=r`;v;pHnGLzYut{8hhR+g0B;@Jqd3+3OU0uzmiyNJv>l_b)8rBk-5 z$3T0C8@GyojU2Naku#@JiL~=fT0ko9vH&&n>MP00JT~B{%-x%#0oz3~R^C9{L~|BM z_q+myU0h#pU~*N@7(bg8u$$GA{l3n9wT}Dz=T2tY`QTtS(tIZPI5h`Y5tNINjh(a8 z`MYC%J-zSp%Slt!5K;;ZIUf@^L+30hX`k#N@mhk3YHoCgU@H-bGj{hIeIe}-XZMe; zbSA)j8lh+R!!Z3VUb0WGt=vG_!>EO^_c3gn9NO$A+?Z+d$eibrv=WSBfs<@!#x1=W z{8{sw&Z}6$etYxD-O<@WfU>+;L+vX!N0yx&3CJYrN;0|W6BG8iemCuo(~4Jg#t%>+ z?Pyp@Pp&o*XaU<@ob*U{X=Zm_5r98mA3_UP`djs{egqed(l^En9*N=-WfrcWSIUWQ zLRciNr4Wa*ZQ>-yvOl(__BT3#R@{zQyi^XG-8~>C%;766rw*=ndgEE)j$YFUagr6> zP}A0RS?K{>OlJW`c1iDa9WrI!xm1wrTmN!d=x zZpC6~Po|&o1mc}Mz$d>I(6dG%RC~#bH66XE90n1Q}t3*rtl4PkD;*LCEIDOc{ z!BP8n?brXBZ0Ls}=QgzD-fd<0T_ZEDzB608Ar$J#iFRFDUiZhQEG}5nacZl%FP?SXXOm@&k-PvfLPBsHJE` zfO`lsmHLa`SAfc@gW?6Q9Wv8rrQUDj6UtvnLI<>FjTtMu`Tr2rQ337kWRG2CN{!C4 z12r5#m3X1Gk^nu30&4fZ;FgSjeq|w|Q=i@rX^%Ds1ZXe>aS)H|2?cUoDPJip0Bi}U zsI_`PWjFy)NfZV=FHnl>fT^yC2dW+G{-^N7ugkxIWbnW7-b!u4a>cSby7Oc!DM-%7MubWY+4oG)GbjoL|}IR-WtMw?AZ#t`Ur18sI=rJTu1`zOE~_P z{Q$lHIu;cdrbaXQQP%8SpyU85tp~zw`7@-ci*phcmeS&Q6Kk(a#eowDDI*a4ZUzGp zXx!nf5m2MNQO8>&~!OD!ay6-Wi znG;28PJKY5s`Z}=K>`H3 zIxA;pmI8uf&)C4dLn!}O#rReKN@CExK3RnyAEIx5Qo_{Kjni!YvOoYfiP|f`AzBDZ zOVhsf?yI6SUSRxF?#hZ+YT09X9)i~^2qhVsH&MZ)NQW*RGkBbB)A3er7z*y=4pilp`xe+SdVPTD@#>EsEe_HxJ zE^X3Xztdz+G+%;L_QSQQ-Fp4agZ2rJ6V}bkbypd20rT4UVYR7L(E^G4Q&~=Ygm%>& zmZgd1#lo28V>*S)HM=m5SW#tpzZ|1L_Imfbu-$y=_ zrY7!WDHmYgiR@#;{Iw9tCP{Q<#5BJ5E#lz~C^6)Pu6h1(-mc6F?lNqbS}mAj<#>K# z67q3804H|rEFEY>!UhMI=453a#RK5%)r7@`1PmrPo+|CN5d=7mR;YYCnkfVAWy=2R zHv@#$S+)}!SS;rH3O_HL@KFJHsZk9UZ<02>Ha#Z#qC*J`0Dl8%Aq7H{)|0f!PM@p; zVQ)^JNyG#!%AydzT$9ZiDCY?*m{XD(P5+h_fXNBB^GkqM;H1TueOSw+a|g{Z!r9NS zy<`;#>;V}RUT7Dj8%Divh5x@WU+bBVOn(M=(Yb!*o+32USDg3P*Y~{U1UcJxf;-oH zw1yhh4)?&pCRq3XQ3iCDMfd&AlM zB#C33Id>M{=QYix&5JJU{awU}#H7E~TLj;^q57n;rsb*NXH!I5dBr)KdcJj5IsMua z-wuBz@ASMX5{Nr5ki6)+SEG3^F=)>%y5dWcv8KW}Yk39IA+$#VUU80G%rKpdo$OZW zwXG3M4BeWLF(8I})(Hen?DrPGK$OKEY78~T#1sVbb$1>kf|1*Ja30oYopdFg8?b|w z{fEgK16c*O>#P!}-^2hJWWt*%p>De`@8lM3j=fLAIm58ov~VuGz+$PWkXc}zoW#;g z$URfHwot*+`z1LK`6F(Oh*bV#>JC6>RGHAjyZnPqdw|Ww3DitOxV~+S) zAKF83j_6#^Xf{A9CJU}c-I|_1h(_cl zBiuEE9Yi9#xkE@t8h?L&v;VP0DbVxm7;mWYm^wD#7?*NJUvI~XLrdAuSwLMmZF03y zG1_Tz!VO;G<3iLj3;-1_6(c&zI9br(h2h3Ob?cN_vCiIp@<`*?3)c9c)!(GFAS)!f zu9L2Db~-33{zjc~HlOy1Lp|0WWQ~>+nc!rE%#6lpjW0h{yyb__ zbi~oQ=Ra@STYg^vu%>RuIJj%7;R_Zy(i+Ja1eLZ}7yS1-3T{%SE?eB_5_IRfp0#La zsJDE)NtUyF*zb4xL}bo~275@LBfN*?k0$b}_^5h9-DS&?&u9P*=dbV05@Me*){H)L z?w}KT?|yedT5HSJc^b?<-bKHhxo=%;;+&+!Yk~I*S;D5}46+bglfZqp2P(gJ-I85m zxSyhtdFzo&k2LBW-^V`8!vg~_g6l@a|LG(yx{Ycb3T|JCN&hhqQq0r2*zIH;PW)Ip z|EH-KjiU8~ZyI^>U7OwlCEv*>4_r^3;aw7$mX~#piBHyxdxui`bZQd`zsziYx=Zuh z7xWWT%@4)zRdU5;o5S?ZYiwYjfSXQZwbP{W=3>Yo1)wmh6{pj8)j(ejrl81dHQ+}Ef#%`>YgOv^<6{uuI_~E%A{=L! zL4s3j^4%|2|2@=om$|?XbP3xE_?AurCLAT)tJ6T00?EA6A#gHx{E6LHJY>}>3|T32 zUlpK+AcvP)zI>sMa12Tcqq|GqHX2nT6N(k1_(r5#D}{RnDyhX}F7YHCHop6i^yzQI z;Sb(tX58m)lmcA+yOOW{OhoKG*hQN*BA{AXo7slNIW=cmlAlEMCwdP@ZlZ}&)xCdo z;pIIEky*bY7?@oNhX9=Yj{#9j^$GM=`(Xk+RZMLF@ehf%tM0WLz+?EW-o_ialR1HCaFxM07iFV zdb%eGaKS?{i&Ab*A@}TC=|wg(v?iiZ^7(`tSBU63Z_j@Qp?~3^)!a1!IY#U`3iES% z-Csnz48Zu)HtM>@ndiG&8F^@(&z;wUX>Q}??$()F{ct(*>_qDf=c3s2($Vug1sP|s zqs3gz^Z8Q6_dm-k+0j6Pw1eN*)v~W2ob_pbijRimp7ba=dOZW zlwJw6C1V4YuBOh-y3(%$qj!cQLNurB|U(>=p7D1fli-@);P|hfi1D32oP^407R&Bx(G~h zL8TA@QpJBg^A>1ntPH_m#dfNH4FK%Ir&SI^&n+)pJrR&|$4hh)MAjw3^HA&Z5aMyT zM|aU(e@b~CJhM9mxtzH~UM_82F2m;J1}=QoPDY!ME0*W6TBnVamtP>5C#PDMb2BHQ zmrL~*YUeT+)1IeV=e?Kf@|#jf{*R}Hb$+4HNzSdO)dVg6&K2h) z>+^BkGJ+PbM+Z)O60XeQ|wpv&4ufg$c;H;PL`$s)L+1~YpFn<@S}0>oo$%Id=cs7#3{94E!J z-@!sjPv32Vmx0M)7wKoLJ~-wzj$f(7NaeqgvVB?XcwT6&=y*|ktg|(~mi#H5_Kp`(p;2M$KZ8>lu-^xe8Yh%X}-H}VRvD`1p9?oxxhQBzidogq9 zJagRTXkd8Yeg}HrcO`mRw2MocEr{VcrK)lpHC~RCFU_N%-)-`+cE2ZBX+M&R@AN3=aegDf%UAa z#{Mo%IU%>%I6IH+5uHpz+z{Nn9&x|AEGgc};(LOx3|oL~b=lH^hSt=uVdi+Z2Q=iR4y-L&VG+}bXWXgE!340p`C3i>73iFjE*SezO?IpdL z?QOKG?N-8MkIlB%!F%o-fN3@*$ief0B_z?!daF}+>&xj=ADkHvM97Bln#)oTnSl9n zgC!+~spXUl{2|L}aJ#V& zm4+Es?!gZ?E-+n=v$I+=gQnxRrre`9S#6I#A4-s%i#-FZEws19Z})h+GQ2W#JGwH^ zm738tq^fzl2=1Vs;0Ma>;sg)05By>|4IhQJ%4SDI*?K9@3Mlz)tHh)Br{gWOw8#al zGuQJ5<(OAb#?6yGmklq^jt=YW;8q1KM^xM|TmlB~9P*!(W+i#9jq^Fol;wN7$<^B) z_Iz~23E{tJD`t&^Z&i4%`2|+E8cpQ)?k581XPW0_)AaK^EqKk0Ajf#CXwu2_)2Dt2 zNRjQ~Hc9Odi_VgvX#Xf_7%g&)ZH}|7CVq26qSAVOis7!6+@08wBhj^g0~Oi zJhOh@#z(upp{@J*ra@H1vOwvLi?c}`4AOPQI9-^81z zEz3a}fPNE=89kNwO$?6QH*BwOn!*(t&vO8;Gp$jCe{>u zs%o0d{kVByOA*u7WPb11xgP%w!jHRv`%P#Km)wisScN;D+?;G2JYT6A6Jg4+1(H%h zeCwJh+gwos|D!)hxg={tiygiW%TNg+5loz{wu6~D?){H}ed>FcW!*JT1 zH{PS779`8*Z**kSWUFuIKa)-p6#m6^IUQR_oR_6&=KM{LLebKwW&MndcwFL6D+`I7 z?`Oi{U*m7!ga+|{;Ug7;+ZFB{XuYjIoxbCMl`!FGWCqhLrX_k%tA%F=%OeNpNcnb! z48?A*o-)CDca_Yl0RQ1c?m@#0qmaLV3Olwp@AOXYj+7#I)Kg6K7e9~cysY)phEyF) zAMvn9kkRF{#*?Vr7U!VEXChMTp_+T>W@96ZF;6B8ZAtM?!1qddJE|jIlJrj8xTS5l zI7k~e4Fg|S{DDJwQZq-4hcKtQ5Ur?kV~~fQ@`6cBW>YtW_?Lwt0j4lR7oF>>l@~wt zF7B#|n18$9u9r^KO@aG|A&rEXH@W}3W3oyl-|?c998_)M{lZ3Lv%hdby)IYTv(T-} zeg@CPY!yvj_Oo&|UlsC;dWce*J^f^Trp~e$ll{Jt((beIf(30w11xhX8B51dgCG^D z%WRJyk(%q940+@yXTpsaGRzp~0!xa1&U%-&^<&P6n~+mCNSvVUvP$ndM8NbGzr@<@ zK!sLT#as4IZcvv;%bfQ@++1h;xUel}$`%@`b3@NlmAr*n?W{lBD^JM{NnSc)e}-eodi?uCjIs#d4|x zJcyKZW~qc?1sfaZzje-eDjBHgoRd3Z1}L(EElVE^rZy3$Ft@J2T6ia{;~+gog`tCI z)^B2WQ?jD<#CNQ3qeb0-wKBY09GU%l$R=Gwt#n6Mc|JhzRGz5m5j;>tG5%R^ca)U7lALYW$HbA7H<2+tGlala`Z>PuDr2nN`0In>LvresxhVnY?uN_Az0(WNeNiux>2x+_f z1ap(f#%zmtOJtmd7ZM8NcFefqJ<#lnUMKe5;=fmNp$6HJJC{N1%{^<>t>+Omylv`x zbo4Y}J^F2;p1CM^4?oy{(A&mfecAd%JyfOBZ)v4YA$WZ!-Sqg0gZ2YcOv(Eul}FyK zLx_3zc4q1C{)Z1szt&dhOxz6Js?+_kJmNw$xwrE%R-tvKpx>h=UlogGX`0_fnR2>n z#RY5O*LZjNlu?4<^PP+2(E2>Asj`*ZSiGv2zWb(pXR8FZh>)aVi>a6Ve~;fcwWvLv zKJ|q!XQWJNoeUi8pI0d{!Q&Q;x7X`*bT7|hZS{95ey!afhZ1VJFJDNR@_nW>-{^a0 z+P~PO7pyu%?jtHmm-co8uUfy00RNl}XX z(3_xL-?U8a$_F0XcT8q+f)f$RIN1$K)CCS6R<8}9tn5DCe8%WyxH9>Bem|b;FbQI} zs*$#jS^sip6?tcC()zMoa6(s7D&ghsUU7kxB5Ch&Hs#CG1m|x-wQNP66CtPdb-IzK zk0Ni%)VWzuq!bb!;HhX`j)YJkyH%v6IZXtQHS=g~J77si=2$gzoQH$9?Pu9q`k5w+P-DJK= zr+d=fKSMt1x{k@mG2ih0hj6ZqhwiTn`?GH@8lEqfRofosjTNowHuq~$P!uTj=hi1x zIJV}e*vcd&%x^!~BxLALR|jm*50QUewtE8wwiv{BW7X}Kjv{hojw}_57K&_DnYmLX zi7S=pvHRy9-c7mLIa4)i^TTrw6?SJm6_q%hSlzXETSemAinv2soCt#QGHqQrY4LM% zZWYuVuKCGDC=QnBF>uaH3i{IfpZ<>jOqn@@88P|9t9$Kv{To#S@r#O>TJLW{RC>vA zQIZiqrWA#^#4RFUJ7Sm@&qR3XNH*ax5uvLo7iq`ryw6F{qY(d?WGv3^^-4#nLP>^z zrc}F)R_aT=qZf~1AJ8kFr;FGA>{~0w!H~_vBaM{ZZH;`z)-_Gl8Xf;q{=To2i=tqc zNc)cXiUe(K3})k^FtPY#W320R_ybJg_HMuT4QOZ*AHT`^9RH{-hPxj0=K62HGDl_p z-V=Rw;WsT~RPcHSW_zmr=(NTT>j~QgaNUPnWM(`M$J1O7YS?u(^>=!Q>kQ7jx02k+ z0juk$5*BQYwzppASyyYpBX!o1rOZmEE_L=*UsriLI3l;|ex|vM5(zhtIC@_3&*W5j z`u*ekG5Jw5BjIhLxBof%%HNY$4ljbD@D>fkU0wNZs6)TO*N!F9Thl<9l^Xnn{3Kd1 z)o_Kf%fWnD>-#V(S)I1#JN|v4OJCDdMB-O2zeCN5&Q=75IVvwB@M=zMluY_1-7~UI z#-fwYb6q)nNd66&K#L#6{PN1beO*3f7W}%gq}J+jF~t;`_5Aqc;vx6u$^6rat{l1L z&2P2Ndp_=>hF!TV7rYZ-o!a`^a!YK3ETh$=3{#Ej)~F+hDoHv4nY+!qf`lyCG7|e# zoqU|I(%s=~^u-LX?~@NleV$ieeQeEA0@0oE?+*6iDz$jqz`Xvb;L*m5?UX**!K zP2E)dRokF$F~PR%wqNQk+n$wyo4dC41SUO|kVx7(trY(_2}{J+MY!)*sWEyvPM)^< zM_4c4vqz+sO5-=X55|&ZD2LxD=SKs<^M$@FGgSODAK^=pbFZcC^KsmeL3+WbtV9l5 zvhdn5dQR-02IikJNiwB2Bb|;ucfRq@MS%UvQ~hF8;l6M7?%(j2(5FNr5p}okB;)-` zX-ogQIQ?{Kv9Sas8RsNq#GH~F@}PBoSbit3=-rr{Dm47s zh@?i}$nW5{#dW}+^}MOeg0b@MyT2p%-En(;d&|Ev?kvRaWqjjd>wn{mS4^<+V<)kd zlu(0o_yM!1K%Zk3xtdAtYw-qhbh?KbBiR8tuVP9fpJ6;6!{BRRPwfRB#Nxp`enM27 zxDHaQN&5_&;H~3yLtnpA6ie4~78f&b0m&{2?aQ7BnpbRX58`Z$Vm4p$NXI&4zv_4A z71Oi%<;s#IpPEF&5N`dBfn(i@{LOqqqP$|Sm}(={LsCOum@Hct%iUca)dsfCx+Gox z$D-eLFzf`ogh2vMou^YJ0K=i_)VYZ^_CP>_u?C6#T*SmmcH(co5?0TvXpO5~tFe!l z%nj+?q4av{Nvu%{`ul&Ig9=M~nW&Pd*n*y0N#$_RC!Gbhe5< zXmV!Q`vU11+w*1}w2q6p)SVAP`#|$ye1xjN@bLDXrJ+~aGq!(i^wmjjT;0I4ME1w! z-sNy;$d2t10?{>0akHR!A;)ICkkHx)av(AoB4P z_dloMgWCD2&D3i1kh*e6JCuuaQ-!SuXA`|L{saKC3c2SMWQF9< zZ|~sqhPLpM($Mz6T#-0)cLSz4e z04a?sgqg;KknW{Sm*10yuVM)=OnLN#*i&Zj`o5C}KSDep#iM$~wt`G)H)qOIpE_9#b;zas9yTjCLmm3s=4iY?P?~s`3F5G%A`!;LRyk4!a92v#>vx&LrEh zhY?Q9_-$S01KiYfMw7NrFJyQ5OoMYvRgcK1h5e82?K4d?Cc(Vov8`k99zOrxq+rtW zE@y`4p+)TCq4W@b(>pHw@7e8Cqn5|?*>6{W%$ro`r0xX`-oNd?kl>4FP>nqwGZ*Y6v3!6k@TRbARe^9l7)%n9MHVPGBe0~~VI0g57%yVREBOvacuJ)US zMeOB%!`2siB3|+^znxNLd+7$gT0_Xe<&0%vjh7L97=Y|6ZK3i+EG06d%r39DYQC z!Pm)MFMJv%@(hE7!HvXk?L~PbL>XXp=^P6Qk@6Cdv0IHX-(}5S$ffRmNrr8VJ{PT` zrYS$t$3?hBkd>7gKN7b{Fc+6lb`bC9dCJ?sMmrH1`fP?(A7h{NDu75zr%f=EWF`(C zvqfqXx%eXz-(o35Z%PV&N>==ixm*>(^04l_+b=En?J(JD-`&}%jjxuKoKeq9gin88 zmE5`HL>lj)mW4;xIS?uUqy3Z@P8Z%HB-<1C)lzhGqtD}Nht8V#8HI2Y`p74@rI!$_ z`;e$={+npZ;Jd>${nArP2sRA**Z9#OoePM5(faQ5=GUs9J)FZIJs}su!hTyjK3jpCkmfr^ z^C&1DC*uo6nvP4U)kYS+m(EFWlH($$PLGMKl2UrZ-P_TqF9!QX9QGLlNCBQ|qYW_M@elpM{g6iX` za89bL#O@|*_dQICJ>K|Sh0e^V@jB_#=+X^1emMcM<6i5%q;EXTG<1=+GocIV69KyN zL$mjAUOeL`$QY^Em3!jB{1hL7OXG|f`jX2Zab{guN;TkQ#9VF7C2vXa9Njv^geTJW zO|Mv-yc1#A{pl!=0h5>uqTv^?tk;BgZU8jBdZK!iR4s-C{0k9&*m@9f!s1M9tScEROu* zG_P5Ml$I0>dVm?f_h_ZYb|PvbtWoi+(A@B%{>+%dtkpf$E3#CrEYo`G}F-VZw>*npr#{ZHzkD$S67T2sZAE1MP-rN zms*_iZvKs8&+JOy*&^>Zypi&o?tW@p$6o&xzdBGkqe#1R``%M|@0|D0`2_!o?mNZG7PUSpi3yb|2d?GC&RYOA|f0wExCjujHhRe%*D3HcEbgq z7o@Gf8az5zsfbj@^D3aM;657=4ot*JOL^PGV>rqv&LEu7{~jS6H;|g_IDZoPwFDnQ z9`S~a>Y-{5QW{&l-8$+yI{eutWnSOl#MI2h)Ijr|%tSUs`oEK+@|Zu(zNIgI+vVs!&IYfvoOW3CKPN8_E7@`4d+vYNp8JAJ zGlibKMYkXlbHph6nqg<0n@D9zLW#0TMsKSx0@DaKM=xVEdJ}ci%Oq- z7jXmI6uPwm!<-)0pu6>6fH?j2L5rWaPKcz1f!=?QjE+~czJEbOo-IZ| zHoVJ(3JVFNXr@cl#?3XPEA}-Ow{w%f=lkwpKj=41vujS$bE}1y9^EAhBQpjTjZ=J= z_DwGj!%DNP$x`DGf@En~caNDhrq9qs9R!ntN69!e3_8@V3AFO5`D!(k>RnwuBUASn zZGD9;RPhtWB`euE4UL+;4C131ZGVr6`?#5?M3f0tE5s+ox_g#YedrT1PcdLtG(f~7 zWvr}PKTY0RVJgkW*E)3gtU)s&-8*8P(&tM)Xr&lD88pCQrYl7wQ8mx}_G46-?_2Gr z`lgQ#Mp``%VDnaV%y|y#Z*Hq9uW`qJ_s?k)iRO6f@j6p%_<2fu(fZf-Rs1yZ@B#=6 z-&30L%56a&sdnkqbdG{`c6k$)YU_|OzNl_}iVYR}`B58&cay0u(-r9qV^72_8hGfo zXQi{EQuPWWuIea^wbqWDIoW!}UJzwHgI3?kvq{#|tGBSH>+qq|L}nqJ#6OGr2X*#P z6SXXk+PKpB<3T9LR~UHT9{ebpr}y7YNrb^D4cpTR=@bKZ!@T8j5gacvP%8z9n8^x}%wy^qKXD;+#F`=^Ve`3OEVOQ0ZW?w(eAbXxm z#?n+l)7!OWGw!8Md$nhFQEWw0q}&!HjB&o-Iou|zU8h~E$Ze8ujoI5gZ7jr8XD)eK zEWKG!V*kjl^;>_r$*qS~pXyJ&z)KuQy~MXvA51p>`+s|UT1dEBHjA^NqN7x${CYGAf>0hJW#mQXTS?$U7EFb#+=Zru5TjMk7QBGrDU@MpRE|Cc zWOusaU4A)aG@ruV1_D#?d;C(PXf$SEd_C=M#>o-0)7ZqT6R>chB1n zn7F9EAG?Lw(c>1_+!0`55a*g%Y#IADxKR}G>zpx1I#ePA?}cs+XTF&ak&x{QLAS+j zyLkIf%kXDgY4M<>@Dgnz#9QNL-b~3ilG%hWdx&o}?nxYt4pl6oH}W7>iJ^CWpFe@l(TyYvV{BX9=g#oPP_B9@WTj16p*kV^f)1vb1lPjH^o z+B7!Z%VOBHNrlQO)_=knv@E#|%2V*?1I?YTee^#QxU25LJ9UT`{DHs8lYg)8+7JJ8 zRR4kmu8CTC3j^Hse{P~&!Upx_ZPN|mhaYsMoh~&$6d1)ly1kge^Bj;#NN2E4xWjoLS6qr=Nag56wnR16w#wk+qVl8% zu|OIJ3AVY=aoe9dcf8V-CP}GrPc%R20nBkaCnfA%BmL0xDS^R_yR9^T)!i$ky#SBR%0u)L2Mz7=GU=5W5G+NzjVkPKqIvCY VK(kn@P(1}SsEG9Id?9VG{|BtyZI1u| diff --git a/docs/screenshots/graph.png b/docs/screenshots/graph.png index 71419ed005cda5ffcf743178902bb313b80b0cd3..ebba12b7c8262d6d9f71b3144703e5397ad464c2 100644 GIT binary patch literal 188172 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 z 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%0DB=a%r8T?D+SXOPlk_0 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


S-U?up+@h;@%6@u6mp@T zidB*r`utfBhrP2#mEz(+dJV=Om(WGDtshf*+DzJOmk@1t>(uyg>yF@a11$FoL{IeR zZbQBz-s2aa_Vn$89QG~Bl8%0c6^bV;C>;qvFeuGaIf*(5Iq3?bK_!3Yy$obn6`7Gp zTX1T@7IL#QW#&yih56FWb~8D-m?Bo5b-lprG!wj4t(H2~uuE

DyXGr8ci%lgitH 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'dH##QL=UGXLC>*VENUDys=_AF!Y+r2oDfs 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%0A?BF5rqXxQG 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 GGywp}bDMks literal 169004 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

%F^%mbu?`xUU3u^2|NPl1%X=$ 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�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 literal 42150 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

lY4K3R?VdXWJf*&O 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 Sj)6TpPMtXObwj|9*Zv23F1u;~ diff --git a/docs/screenshots/review.png b/docs/screenshots/review.png index c00fd7df009f5f60fe380c3a67f70c9113fb0a95..d1d31d7e45e10bc6c0207a23c92562fbdc6bf1e1 100644 GIT binary patch literal 175709 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

r8%S2}sK2RDwAfP;wmE6nxFdZFuwnx{r5%1Yh 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 literal 285822 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%0AoHfX8Ut&2g2HKx|Uo_~5n_s_s&v`t=lyO0 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%0D7yZ61n4txD7MBeB^tgV z_%v2CzC=w< zScI-?($-;QPnG(TjK+vTdCFUQoUtNu?lWzPcTfnLoafaEZhC79HV42SvLU+he>^ha zd{wX*eojcZF;RLVe7^wmCT{j;{qJw$9;LZ!=o7|78TdZ?xrx$3h9)?4`oG-6 zCU~ysE$#m};7uS(7G0b#dQ0U2d`a(VScE9Mp70Xg!O3pwT;h|s8Oo|#ZT{?(UBwWI z&JQQvL8R}hl3|I^y**>=yZ1uP)X;Y}sG^|GLNN)z5b@;1wQ`4-k5=lYbF;hs9PC6O zy9fsT0*`}x94k~!=Va@~+i*8TPq->5Pq;mIimO-4^mq_q8cvmQa z#_+*`G&l~HxbqO|nf4plqS?Es*p%J<8Cv-53ucKf;H)7&b^uKIt&HBo{{Ao znYSPEzd#P8TkUrd^7cTu;UCvPR3W;s+WG(6!9u$Z36U9n&W?N2zCnDuV@VKoY3coP z?Ks6z7eSY|%x7m^?>qp|1^gdemGk&Tm3{7c;mL2H8}LKCEG}|^x%9;=b*p^1MaJj_s+H>$*uRk)NM`e5uPs{TpOxGt~uH(!7G z=0w+>yRDzdWlIazkQU2b<)(`8U&U{jF;eDj^Yl%+nDE(!jTu^3D8!D7%V!dHyj9a1 zpZw_%h0A5osQ-jgK=)@1rG0JZ46phCYb5qoQY&<&#`k=}qw9n5tb4AI+^V>niGpz$ z|A&eMO14+Lw3G`TTFSITNeYCC*O}kE%`v;#rw-?o={_?nG3F5p_ByxpTx*HY?l)$n zT@WI6*NhX%n_JCjMe4A`I8T+5sbZRmrE+?9HUf(Jn%U}lVzmHfHY(s{e@gtb*;+U~ zoPy}Z-IbB@``oNag&#@SkW!ML)^bg9Ong)^uJPpCDs8v=U`4QqZ$b1zmbrb+Ea^KA zyTRzdg=<`ev?x9ZB?hMKFOnFm4&sKGf=7l83P0ER+DhTh%}MCbTL1Xu9&wVLJd%j}JZ;%d zc77mEq)l|tJ6h+bJCl3ugiweUaua>C=wo_1|FwJRt>3@(1!lE6*9N;kNasIcaA;Fh z`lfWY1r3xCUBDo=q)prGA1eW=k;K69E33P&1ZmlbWutq@l2fT&zgY?dNo3 zaQ9CM-lHEP;d;VdkcU}KFGedL4Bbem=c29O9!j{S9UUyuCudhbz>#3jGFdVR&_BMEU=wQF~y1Bq+t>o~F*yGsifA0c)a z`B2;l-9!;6$x6XY$Zd)IyoK^lVh)0u5ot!$lDjL-TA0w*G`LCayENK)INGu;=2OV` zqDmMI44Hcl&McgVL)TqY-h>;-L?Gs&OiKg`QK*6p;e>!st--~K1TJtilpZi-e$MDb zmnEQJzf0nwYam3QVY-V8i~~ihW&%chCd8FiYara32+PZP8+y8F!a)Wo~ z?X0IXc0H5;BjYUIA-|7`@lsPmE`UKGz@b)6{vjflOzFP<`$d>>* zl9nm}qxM4%knAeFmqwoj$Hydw`Y*S*BZz8$)G<-0NeB4?LvSNltab!<8~@zQumR(W zC$C;Y?;6!Xhe)Wi5>2v~UR*mj+>~RfKW!NHvq>;mCv)%|BC7oAlWBWCL>kd&a|-Rr z6HQ7GaB&}~Fq?exnm-_5y~noNYniEeQHK4hCU9s!zPRSq>4My9 zLli$a^z~D@JEcbMmu61pGK3uCJ^tf4(iP5=>-q#)xeY^}VijwPn`DNLToOd#bj`?4 zlrkq^)m0zN$o9BTmiN%85Wd8C(UYO}C4s1`)D{QfK@xIxzznCo=9j7Dxns5Auavgg z4cn~m?UMziK})C4-O+r^$d52;rdL#WCzau|tOlgiApc!4HGu;Nd;sVrSJUiM(5%=+ zIiQS$F9*UjFfTG+;5NFw$WLvQu|TgZT&p4imoOQ_*G4C>>sRjuHJ{W<3j_4@czBb9 zx2{&5m`?4$sSen8RA#I*}#but+0!!GyUuDeH0#2?c2Yqe`Q0_ry(fqk5&eaLM&CMF(uOeQWH z-Jf4^ofF^ati1lcp$NA%LhpLMC~{5ql_r&%U}MSpuLQw}5!QG^KP69vp-t=25|Jxi zygSC_c>;x)2g$!4c4L8N(Cz{!>HIdzE&J`Jg!>=dR5;^$+!~~l!X^$yfcPoK5SQ^& z@LoINS%+jfzoh906dpRuMyge|QpVeVMu1b}Q2 z5h@x`^5z*(#wpn04EA~s41^jSm=r6KaCVWB7sRIvAo?*?-*GNZgh`yYWpiAGv>06P z@ZOpnta$9>9d3*P>aCZ~`qgtimD9BqNR>_|9a)sZUJUs>-dAr08~A27u1oQ() zfBpMfvbYy-Zm;3ost~~oa9TWoxR9s`9 z_`^o@D%fAM`>`6##BO*Ci;B~tJtO%Vl_dNtpj~@dSY4h|(QF1R8n%}4`jc_GKR>(t zUdOKNe=IauZ)G=IXn1z+`*3|*;EP+wOnARfY|8ChiB3DoLb1x(oiE=dxYt*NO`EJ_ z5HL7)5V{q<5#7y_xgeMIK)Af3DQI>-^Ii7RFb1YXF~EBk%{bmG)WLfO($MLeH|P$_ z-ZaBb#!pG_6|_w#Mx9qLom)7H-Y)i(TQ%tz`S-2D;*sG=9AAJzR@Fn&F6 zp_vw(@Y&mZTQF?+dVa#oHgVFW+mSwBh`a` zH<2G9m)tRW)$=1S%?CD$F$)?9B#*O+SZh7Ia%V42y7~%VWx=KHxT6R(hJ5#%izY7SM2-s}0xujPKEbSp0upv&2IXg*8jzrtA zZXPe1PS~E+=l0z#Rrhu1OLEg2Lfj6=$5fyt!Af;Xw!%rH^Af83X|6YSZN*$6C0YZQ z(x`~)%v{PNp8BTo%3%)w09@cvn`V7yPX=ocCZug2(LX{**+w1N&`;Bg|!A7ln5ksm`Y+jS&I`_SS+|G8|^)p-Gcwu~ft53*P zaCjX@mI|b>>~h@gNp;UQbNKsdwh!J_TXFr~=bg#oetnqg5X&%iK#5?)nLM6Yal?8d zHUBHIVyB0<0!#$;bSV_rF*v^zy_%*U3Ap$DW1gY&aKNx8L7?jn{8hUzsY!QzQ>5_O zq@i$4VQrB`OHxmbAQq;S;s$XEk5$pjwRi8$4Yt3_3OlT1R}pXX^Vts%uC!The{V35 zmwo;7Ly@&*QSo}0GqyxAxdNZp!MFYjWIMa+i)g_F)}qLBRbeypRS)yd!LG13g6;ei-fK{Yu$2gpuDzsMbf=WVUp13BPo0pZ+a4Kesi6 ztsE-(tYj+9d-9nja%IhO-A+lW%eJ z3;VTd@;D|-DtlhXqzdSNg7)bS?IopL#XP4toh*;(lRixz&UaaBU`e2;+gOVU?{COD z>^@aD_Z%{uof@<^k)5PDzFzq7w*9cOxS?vIpxU`Ffb`K37^CwjwDHKNefbW{=zu9n96QbF>&%&Rz&`X-v;PD*XiDddWjm0^a^Zp*pq= zFU6x&$!LWuEq14VN^86U9?{sJpfc2=4=&Za7zs`zm~?&C^!<2(*;s+MolATuct{Q$ z(m2hCsjO68Uupxs+jqF>W4gPwl?%Z@5aD~SJ(7tLkRcHuR+5Hu9hoJ&ZG1}dqfL2f#5#KkP)ZRMaZ z3k;sxCS#bH{%vLY=fLsfpyG)9m_7Lv0x=bm72}YzB@gZ>B5SW89=MIPh?U0x`}p+R zN&V6(zwI}7zrDRwV1<`agyOWgCpb*aXQ;_}DqOH{0fWdJJjW?2Nmop)R`>mP<0+Qr zIzPUjPae&9bB84I@O_ljx3l#;J=E^YAFZ7654d*e2^>$OILF)8(j1Vst@4`f0m12g zdZ&D=tYT{ka<;mXRezU`47>d!I&8g4>-m}E7~RphV(V!yArMsuEL!)9C^Ac;0_$Fv zx}APXDK4k4PCbH5+g1h>Um69?L_Z4%3puZ2$MM$C!U~@_$)rz|O?nj58tJiCon^Dt zpQa|nZ{VzZ6kq1{tHvMu1eSY$kloxWQr0IKZ+v+ia?Ywd_~qL4J43;w*bwO}&BIq% zN0zU)qx|Bo2=80vXT*DmV9tC;LC|k!X0K3T*9UDZ#{~(s*{_E-gtZ&CTr>{TRh|k~ zTTRX^8(uEtAtzKE)(kW4FcQxM>eyf$J3HqxX;|n^dfj(nEjYh#Xrb-$W9ny(uF@4} zi8ZE<;b@8V;ox?^fthEIwA(7=tK&)&Ynmm>kSF_mq@S)qalLV0!1D&KV%AR^mzVt& zTd4CWsJHBkni3K|h*A!5OGj$N9O9X@y1#|5_ul6K^&XC`Q!6;&2+^oV` zOt&RNwAG3>^or03s(nWAR2?m!#7jc69?@ma0q+)>Xy_e`)Ts~~xz~8mDzESFy6(_-Q>Fw89!idPDJ$uM|K)Jkia*izw9|4LRJr$bJr(_I9rJ|DTFSO&r|9*&J#!<7*@FUf%DaX$VEQz zl~{Rj3r|zIvOTlbsbEJ>LqQ!>puFU(-D?ir5I93wXEliJKRS3h>}>M}#U|U=y!v*^ zl#$y&hxzBvqMlw!`j^tgesM&UJp@;sI5mWmAoO^m@wr1Se?cwVw88uS9yYo@4Ks^!)sZO-599Cn@tl>oqwc^j( zb77du;(5aNIoHL~Cr(YBkc3~D-P$Ef?*?U*Av^zWtr_o@ zm8`tsNj0gh{{Cri2|#-94pvCD%pkBTW>n-E~<1s$9+)XexreMY&?M5n(O zLsbJIu56N!ow8-jA*`WVjRKXYdmhN-UbUqLzQfIpHH(oWR?%uYTN89K#pb_e8&?;Z zi<&rIQva^U*f9IGQzV|dGTgJmlogj;xz{aOjqFwHDLUaKXH(-iF3AXk$K5AgRj=jd zLn(YeyqwP}IJ;h)SZ_VeQt4w`p)>UJtkTy@f3ZN#*8Pzo>ENO^r|)jT{46DfQADU- z@(zSt=}K_PXIj9 zDYZu+f7~uc+fO{0ms9jJN+7eE3Q}=XQ}Q}xHp+ARLj2%b6x3Y35NFBHK{-uL+PqX5 zD9?Kf@jrhoXrc;LK~KET^0e!y3}}JW-lMpg{^$Iz-%cc?qwl;J8~WTC41`CY2lt6V z`n*-sk47THq?`(-x=`GN%L>);OIIqS*1*IP`uMVcRz6ic2Av<3*JQGkc@FQ&*Q88;-B_&)sY<+9vgBT5F29-LS+Of>Ah& zMbG!*No^a=Ue{j|ei}`l@G;eb&G^>;zl7YD`16?#uu)CqYZf=|*RmW=boIY(v>5OP zPMlgS*4oQxR9)+rsFn36j-%3V&4#D40<2dJN(}<~vMqsGex}koTJR#vPWV-!*THCn za9zHgvAyqVPjRnh^)_IKlWshCUUcj?n(VpjmVzUI%6YwCy{^tn5LEvonLkcEO!*N@ zcIE?v!$SHb9gJ$#Ktb2Wk*j`yOkd5@j3PMzvki7q>m^S2^=$uiiqI18e;62ejvFJE0?Ug|G;VlR^oXtJlqw0o42KQ}MlD%yVA_)Zy&$rycNl`H2n3>Pr?}C)5 zE$wk!54GSI-1prp6yAuHqM)vVKuBHn_j?fKawdeo)+7M(P*>RwP(%cZazphwqAv@335}G(O(O!fEO;GyrYnm z&GK@=%FdA2ZWLgeHZ9?+@N4|?Rn{Bg$bUM)e}cc9DR+~+F#El%T}fqZ8;yPMwQURh z8~lB(I{tb|=?hctr$}%2v%jrfIc?z-XSYbE=Kb@WKs|ed2{OZ@D$K)+vuX|r+hAC@c6E22SCDUTBazPCilUR~3;oWCit*EeW zIN>3O+u4ix$AQRg65z#d{bN8tJ-Bs?PQs|JWZ`=es^!`Gqr~aPi4wPD4`O~*lgIeH zTZ_jAGqv_D0q3LU<9eQ+fHkLIY&SDpEYFjSfAOckc&pfBe!BC~WKMzG>)l$?3jNL3 z=Et1`3K4+hOvL`UM5}3lnnUhX`+KF@AX8FG8;Y3t_W`>8K#Jyn z>ST7{t1_oI$9`RPK8|{ww26AH`WKL^XWk{naSA~7ulx1IiaMhYfoU1mT%s#PWuMng zcpr7*+Bl7x4kGF+D6#Z`2^eh5GzSljBB_}K+Ia?TKZ~jDIFUj99TiRO!hwxBgI2cm z?FZQ)SiQrP!#uVBT{%8FvFf%CQW^_h6uRDljLxfINf}3>t$XIRu#A16Ycb!q;nVam z5^`#1FPd6-0o5zo>0mdG#|1ryu+U8p)NKm}Y`Vd%QOx2qi^+1?PPI-eHVV z(gfJnYR)^j5FDd-zyUylZz7s<+x;l21cWUoDUM2r_s;qx@*z#Y_}e^E0fYb#XZUTF zO8nT$iNw@>UnOnR^OPOHH*7fVcw9k}8k$m2Q%K79f@MoO_rqW zP3a*KlWBG=&tve3%zxe_p)sl3W62N_7ODkT`N~wq5b0_Y$-6rBJl9+^G95BbnZbla z7aFDaRW{`I7WLpjawoYa1Ks;T7}Snj1bnZ$g4OQbtriPM2U*w5=eQXXW9p{w=}c^s z9z_x%82gjuCukk)uPUoj0>+k8P1g|p3PQ^ZVpl-TUmAutMNue%3&uPRYNFr$?jok+ z%c)Bvb2w#|rG}#t9D@ZnHhshZCS4XJ)U=>kL0S%P&Pj6t`!vQ<0 z=wCynMZKuq^itu@6i^b7?q$I3mZw*dCs;zKVFZe0G==_0JY%9_%%)nGcM=9dfb(rT zxqz{<9JJty_utJ1b%|zio>-1*g5l6YwNW%q2)44&^h#Ei8%z zi;8@Tw}kJ_XVc2S8n-?$*_Yr%*6REyq9vtOm!p07n2pX`uLNS;y%m3V%5}F-DtL!p zL56|Q@Gx@u6O-UL>=()*y@7a!rI{QM)8=&4R@0 z>s&J)v+s9%I`50x#eK9A%7q!^kLrgmeXp&uPdcr?aLFREm(hND;GQasYXiSyslT;W zA&+e%$EH>7c^N=jygiPfX=erGHGm&~9p<&G+6^t#B=>Qilwl%?v9c37JDGWVmjB!O z@?xUBze2oqg915De)ge`@2pGC>mk{sBbMNaEN)WUoblS-IQi#8vb} zEo{ZkCnzt}4G$N<=prYZ{Z#qdGxAVwosMFP$%^xk5jK6Vjrdt>@7D?sM&%VyA>FTF7y<$uer4ZX;2D@y)YX0~Ec zLaQ7gK2~NMgsLRg#8t&$%svepBXflWaM3|F_xw^oja^i@c+qDs=*4n2g7J`@mTqdm z8_DlB+m@c_ew7$CSoZuo$_SW@q;=mS41lN49!UJWTGq|~^%V^&Efj!TA$Wf5mfYi_ zX8*W?%%t$0mv9)&%Qr9*n+6$-!2-!&G5@hsc1F&kbbGL?SQW6X@Ar}qv(R(N#8H)^WPCu|H5d~sm5?jFCp*3YVkEp1vh z^Jb8bn21~IQ8_P1E`u1Ys@LPS4>>n|U9M0wxxpZ&6@eM=+MZXX|4vuJdR0+gX%>DE zjzJ;({YU07&ywa(&j`v27K({l8(%})oLVz!Qofmz%=F?K9}RL~KwM=7-iIvYV*Fys z=fUnuaj?QkvUGkLM;Td8gUcW67{6uEZG7$^XhS5yX^qe@sjR!iDvaS`9UG@{F)&=_(u1J8fK8yt0D}9hdmUxO zbf(k*-E)l*X66GGSTWn3MmKJG5=(;NCtFR*eluz&hlhGG5cI>?z>RGRP8y>FT@Z(r z7U@5;fA*GJK9>K%j{!%oB${sw)oi=(?p3p8zsnrbMxOOatP6S7W^z0KFn4(m+n|7f zdv^M$XI0YpMQB)AjwPGN+?H_Q*`_A_)cr=HneA>%1}puO!m45qi9TcV`8hRvNfFj78XjBRVJKWDxFkWaX3?sd8E=p z`BiwV0h>)J9y&TQ+-r5VUf;LfLxY$pWmul~cRJLFHexzd!hlh~wn&U!hu1#Xh!S5j z43WK(jBfw>iDn~_*n=k$R-w<#tRiR|MsgYdP8dft2~X^<>*PZ*xFD+XHoITF%}#j0h`%lMg@ zTR(37FEvG^)OOy*?rN=)_r?ABl-Rxx7zjCMFEqRIz=Rj_O3!sw-HEf&+q%aAGc#t& zbFv)R4CEZ(8R(ZgIXtnLRaBmiMy49_nR%`3NW)iutE|5UT4F6fWZ!m$gH_|f#>azF zD1qg9XU@F(#fn%hMH7Me4C_N|Q^AZ*ZM8k{vAWyT}AL(tP7I z_(gf`1J-QB(4WEQHBy!d8U?YU@bRgH3*n%=_c4Y;U#{b7E6B;_^j;ven9;8Vw%hIw zb`b(*r|}yJ;q?=)oi+Eh)D3k%2_zRbn6F(pGx{M8s{!Xr&!V@g(`F_=LDUat=1L_V zpHi1l^0S;YeEFpG+^Hsy-ELRMEqd4FBXCi^M}|mt;aL#VMN2Ca&|KqHuU)OZE}g+A z-0V(98#M~eSm45uR6pQoecsiIDyAxi+5{|%-WCjY=abX9vQoy&r<{c#eFf`0q%-;k7 za#0h>fKdQfHVE#nnv#Nl-RAy+f-2Tjj<@${wx`n#i+lzMTskF7-s&(*R)hUdlR7c| z&9jGJ4#$Xm*7t_{Fh`!O0jB%3qg4Y6Dm9z+e$VQmmsRFwc{IOO=578*u(Txu6%F0% zVg4BSQku}>`>WmGinncy?9bvSDb6WHPtGw9pHCQ$$!HMwA%L!iF2{%y^y7*7&cD=H zY@Y*BpPlrS+5N4_Ym>-EuJ)Z=aQG@}_bVqb= zm!9vdo|(yr*o^__+^;|CF6Ykha8^IcuylM5~=0or_qMN;rWIbH!L zvNtP}t>z2WX33+>&t4iy#h9t*l6Px8KcndSLq@riI*MpG#2GxC`tLGm$M04j)D=C- zZc>HU*{s}r+z(ImJhuyh4Z}M$*xU7m(%u5S?YAY#nfDwp#0MNqPWYIH5$wHy`pBvI z?V}rQ@D5M!M`EmdfV!fwA;J5wq_ync6bU-Q%JF1}3y(8EzY1aF-n)ar@cs}Wt8TjM5h>bDED+BLd50-_@?04rseoTv=o^5-x%^W@0AsGoD+@CbtzGe{vQ<_N5 zd9IfP1;ee5NU3k=vfO>=*uQ_#&tk649xwV%XkIuiEhUepjPDCHNK|YTrg-nO{2oXW zoVpHuP^LdgQ9E1Ka85rv4(xZ|s>25RjVqFCk~DR5AFkx4a?sxSUty7p3FYOl5Bo!L zo^jtylB)N$UCgA%s*iYlU*(W#yE>PDzeip-+$@QdY;?B4w!cU|0W9L6xWKuuQM9pj zSp>&ZSMA^nPWQt`Lje9zjPl@9nP?ZrVGsQ_^$#i`QXy4PEY+$WQ0ALdRKYUA_}Ho?F6k#EN>fi$@UVdKJ-01`DV9}d*iGvX

F#s^W>#_~WVI9h4~&@KTmCDDTq9L5xKX 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 diff --git a/docs/screenshots/settings.png b/docs/screenshots/settings.png index 80dd3d83f2cb13381cc5b9969fe5a7e28e351f17..8c28e0772281129f0b722e61ebf16fcb89656013 100644 GIT binary patch literal 77253 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 Vo73V*2^?p~`Z`A1<>0%I{|hWjd29dx literal 56942 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.concat(...m),[]);return[y,g]}return[[],[]]},[t]);return Y.useEffect(()=>{const p=(r==null?void 0:r.target)??Ah,y=(r==null?void 0:r.actInsideInputWithModifier)??!0;if(t!==null){const g=S=>{var E,N;if(a.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!a.current||a.current&&!y)&&Xp(S))return!1;const M=Dh(S.code,h);if(c.current.add(S[M]),$h(d,c.current,!1)){const T=((N=(E=S.composedPath)==null?void 0:E.call(S))==null?void 0:N[0])||S.target,k=(T==null?void 0:T.nodeName)==="BUTTON"||(T==null?void 0:T.nodeName)==="A";r.preventDefault!==!1&&(a.current||!k)&&S.preventDefault(),l(!0)}},x=S=>{const _=Dh(S.code,h);$h(d,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(S[_]),S.key==="Meta"&&c.current.clear(),a.current=!1},m=()=>{c.current.clear(),l(!1)};return p==null||p.addEventListener("keydown",g),p==null||p.addEventListener("keyup",x),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{p==null||p.removeEventListener("keydown",g),p==null||p.removeEventListener("keyup",x),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[t,l]),o}function $h(t,r,o){return t.filter(l=>o||l.length===r.size).some(l=>l.every(a=>r.has(a)))}function Dh(t,r){return r.includes(t)?"code":"key"}const K1=()=>{const t=be();return Y.useMemo(()=>({zoomIn:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1.2,r):!1},zoomOut:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1/1.2,r):!1},zoomTo:async(r,o)=>{const{panZoom:l}=t.getState();return l?l.scaleTo(r,o):!1},getZoom:()=>t.getState().transform[2],setViewport:async(r,o)=>{const{transform:[l,a,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:r.x??l,y:r.y??a,zoom:r.zoom??c},o),!0):!1},getViewport:()=>{const[r,o,l]=t.getState().transform;return{x:r,y:o,zoom:l}},setCenter:async(r,o,l)=>t.getState().setCenter(r,o,l),fitBounds:async(r,o)=>{const{width:l,height:a,minZoom:c,maxZoom:d,panZoom:h}=t.getState(),p=oc(r,l,a,c,d,(o==null?void 0:o.padding)??.1);return h?(await h.setViewport(p,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),!0):!1},screenToFlowPosition:(r,o={})=>{const{transform:l,snapGrid:a,snapToGrid:c,domNode:d}=t.getState();if(!d)return r;const{x:h,y:p}=d.getBoundingClientRect(),y={x:r.x-h,y:r.y-p},g=o.snapGrid??a,x=o.snapToGrid??c;return xo(y,l,x,g)},flowToScreenPosition:r=>{const{transform:o,domNode:l}=t.getState();if(!l)return r;const{x:a,y:c}=l.getBoundingClientRect(),d=ii(r,o);return{x:d.x+a,y:d.y+c}}}),[])};function gg(t,r){const o=[],l=new Map,a=[];for(const c of t)if(c.type==="add"){a.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const d=l.get(c.id);d?d.push(c):l.set(c.id,[c])}for(const c of r){const d=l.get(c.id);if(!d){o.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){o.push({...d[0].item});continue}const h={...c};for(const p of d)q1(p,h);o.push(h)}return a.length&&a.forEach(c=>{c.index!==void 0?o.splice(c.index,0,{...c.item}):o.push({...c.item})}),o}function q1(t,r){switch(t.type){case"select":{r.selected=t.selected;break}case"position":{typeof t.position<"u"&&(r.position=t.position),typeof t.dragging<"u"&&(r.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(r.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(r.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(r.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(r.resizing=t.resizing);break}}}function Z1(t,r){return gg(t,r)}function J1(t,r){return gg(t,r)}function fr(t,r){return{id:t,type:"select",selected:r}}function qr(t,r=new Set,o=!1){const l=[];for(const[a,c]of t){const d=r.has(a);!(c.selected===void 0&&!d)&&c.selected!==d&&(o&&(c.selected=d),l.push(fr(c.id,d)))}return l}function Oh({items:t=[],lookup:r}){var a;const o=[],l=new Map(t.map(c=>[c.id,c]));for(const[c,d]of t.entries()){const h=r.get(d.id),p=((a=h==null?void 0:h.internals)==null?void 0:a.userNode)??h;p!==void 0&&p!==d&&o.push({id:d.id,item:d,type:"replace"}),p===void 0&&o.push({item:d,type:"add",index:c})}for(const[c]of r)l.get(c)===void 0&&o.push({id:c,type:"remove"});return o}function bh(t){return{id:t.id,type:"remove"}}const eS=Bp();function tS(t,r,o={}){return Ow(t,r,{...o,onError:o.onError??eS})}const Fh=t=>kw(t),nS=t=>Op(t);function mg(t){return Y.forwardRef(t)}const yg=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function Hh(t){const[r,o]=Y.useState(BigInt(0)),[l]=Y.useState(()=>rS(()=>o(a=>a+BigInt(1))));return yg(()=>{const a=l.get();a.length&&(t(a),l.reset())},[r]),l}function rS(t){let r=[];return{get:()=>r,reset:()=>{r=[]},push:o=>{r.push(o),t()}}}const vg=Y.createContext(null);function iS({children:t}){const r=be(),o=Y.useCallback(h=>{const{nodes:p=[],setNodes:y,hasDefaultNodes:g,onNodesChange:x,nodeLookup:m,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=r.getState();let M=p;for(const N of h)M=typeof N=="function"?N(M):N;let E=Oh({items:M,lookup:m});for(const N of _.values())E=N(E);g&&y(M),E.length>0?x==null||x(E):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:N,nodes:T,setNodes:k}=r.getState();N&&k(T)})},[]),l=Hh(o),a=Y.useCallback(h=>{const{edges:p=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:x,edgeLookup:m}=r.getState();let S=p;for(const _ of h)S=typeof _=="function"?_(S):_;g?y(S):x&&x(Oh({items:S,lookup:m}))},[]),c=Hh(a),d=Y.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return v.jsx(vg.Provider,{value:d,children:t})}function oS(){const t=Y.useContext(vg);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const sS=t=>!!t.panZoom;function fc(){const t=K1(),r=be(),o=oS(),l=ze(sS),a=Y.useMemo(()=>{const c=x=>r.getState().nodeLookup.get(x),d=x=>{o.nodeQueue.push(x)},h=x=>{o.edgeQueue.push(x)},p=x=>{var N,T;const{nodeLookup:m,nodeOrigin:S}=r.getState(),_=Fh(x)?x:m.get(x.id),M=_.parentId?Wp(_.position,_.measured,_.parentId,m,S):_.position,E={..._,position:M,width:((N=_.measured)==null?void 0:N.width)??_.width,height:((T=_.measured)==null?void 0:T.height)??_.height};return ao(E)},y=(x,m,S={replace:!1})=>{d(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&Fh(E)?E:{...M,...E}}return M}))},g=(x,m,S={replace:!1})=>{h(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&nS(E)?E:{...M,...E}}return M}))};return{getNodes:()=>r.getState().nodes.map(x=>({...x})),getNode:x=>{var m;return(m=c(x))==null?void 0:m.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:x=[]}=r.getState();return x.map(m=>({...m}))},getEdge:x=>r.getState().edgeLookup.get(x),setNodes:d,setEdges:h,addNodes:x=>{const m=Array.isArray(x)?x:[x];o.nodeQueue.push(S=>[...S,...m])},addEdges:x=>{const m=Array.isArray(x)?x:[x];o.edgeQueue.push(S=>[...S,...m])},toObject:()=>{const{nodes:x=[],edges:m=[],transform:S}=r.getState(),[_,M,E]=S;return{nodes:x.map(N=>({...N})),edges:m.map(N=>({...N})),viewport:{x:_,y:M,zoom:E}}},deleteElements:async({nodes:x=[],edges:m=[]})=>{const{nodes:S,edges:_,onNodesDelete:M,onEdgesDelete:E,triggerNodeChanges:N,triggerEdgeChanges:T,onDelete:k,onBeforeDelete:P}=r.getState(),{nodes:b,edges:$}=await Mw({nodesToRemove:x,edgesToRemove:m,nodes:S,edges:_,onBeforeDelete:P}),H=$.length>0,X=b.length>0;if(H){const Q=$.map(bh);E==null||E($),T(Q)}if(X){const Q=b.map(bh);M==null||M(b),N(Q)}return(X||H)&&(k==null||k({nodes:b,edges:$})),{deletedNodes:b,deletedEdges:$}},getIntersectingNodes:(x,m=!0,S)=>{const _=dh(x),M=_?x:p(x),E=S!==void 0;return M?(S||r.getState().nodes).filter(N=>{const T=r.getState().nodeLookup.get(N.id);if(T&&!_&&(N.id===x.id||!T.internals.positionAbsolute))return!1;const k=ao(E?N:T),P=ll(k,M);return m&&P>0||P>=k.width*k.height||P>=M.width*M.height}):[]},isNodeIntersecting:(x,m,S=!0)=>{const M=dh(x)?x:p(x);if(!M)return!1;const E=ll(M,m);return S&&E>0||E>=m.width*m.height||E>=M.width*M.height},updateNode:y,updateNodeData:(x,m,S={replace:!1})=>{y(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},updateEdge:g,updateEdgeData:(x,m,S={replace:!1})=>{g(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},getNodesBounds:x=>{const{nodeLookup:m,nodeOrigin:S}=r.getState();return Ew(x,{nodeLookup:m,nodeOrigin:S})},getHandleConnections:({type:x,id:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}-${x}${m?`-${m}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:x,handleId:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}${x?m?`-${x}-${m}`:`-${x}`:""}`))==null?void 0:_.values())??[])},fitView:async x=>{const m=r.getState().fitViewResolver??Tw();return r.setState({fitViewQueued:!0,fitViewOptions:x,fitViewResolver:m}),o.nodeQueue.push(S=>[...S]),m.promise}}},[]);return Y.useMemo(()=>({...a,...t,viewportInitialized:l}),[l])}const Vh=t=>t.selected,lS=typeof window<"u"?window:void 0;function aS({deleteKeyCode:t,multiSelectionKeyCode:r}){const o=be(),{deleteElements:l}=fc(),a=co(t,{actInsideInputWithModifier:!1}),c=co(r,{target:lS});Y.useEffect(()=>{if(a){const{edges:d,nodes:h}=o.getState();l({nodes:h.filter(Vh),edges:d.filter(Vh)}),o.setState({nodesSelectionActive:!1})}},[a]),Y.useEffect(()=>{o.setState({multiSelectionActive:c})},[c])}function uS(t){const r=be();Y.useEffect(()=>{const o=()=>{var a,c,d,h;if(!t.current||!(((c=(a=t.current).checkVisibility)==null?void 0:c.call(a))??!0))return!1;const l=sc(t.current);(l.height===0||l.width===0)&&((h=(d=r.getState()).onError)==null||h.call(d,"004",Gt.error004())),r.setState({width:l.width||500,height:l.height||500})};if(t.current){o(),window.addEventListener("resize",o);const l=new ResizeObserver(()=>o());return l.observe(t.current),()=>{window.removeEventListener("resize",o),l&&t.current&&l.unobserve(t.current)}}},[])}const Sl={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function dS({onPaneContextMenu:t,zoomOnScroll:r=!0,zoomOnPinch:o=!0,panOnScroll:l=!1,panActivationKeyPressed:a,panOnScrollSpeed:c=.5,panOnScrollMode:d=gr.Free,zoomOnDoubleClick:h=!0,panOnDrag:p=!0,defaultViewport:y,translateExtent:g,minZoom:x,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:_=!0,children:M,noWheelClassName:E,noPanClassName:N,onViewportChange:T,isControlledViewport:k,paneClickDistance:P,selectionOnDrag:b}){const $=be(),H=Y.useRef(null),{userSelectionActive:X,lib:Q,connectionInProgress:te}=ze(cS,Ue),Z=co(S),ee=Y.useRef();uS(H);const J=Y.useCallback(C=>{T==null||T({x:C[0],y:C[1],zoom:C[2]}),k||$.setState({transform:C})},[T,k]);return Y.useEffect(()=>{if(H.current){ee.current=p1({domNode:H.current,minZoom:x,maxZoom:m,translateExtent:g,viewport:y,onDraggingChange:V=>$.setState(A=>A.paneDragging===V?A:{paneDragging:V}),onPanZoomStart:(V,A)=>{const{onViewportChangeStart:L,onMoveStart:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoom:(V,A)=>{const{onViewportChange:L,onMove:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoomEnd:(V,A)=>{const{onViewportChangeEnd:L,onMoveEnd:O}=$.getState();O==null||O(V,A),L==null||L(A)}});const{x:C,y:B,zoom:F}=ee.current.getViewport();return $.setState({panZoom:ee.current,transform:[C,B,F],domNode:H.current.closest(".react-flow")}),()=>{var V;(V=ee.current)==null||V.destroy()}}},[]),Y.useEffect(()=>{var C;(C=ee.current)==null||C.update({onPaneContextMenu:t,zoomOnScroll:r,zoomOnPinch:o,panOnScroll:l,panActivationKeyPressed:a,panOnScrollSpeed:c,panOnScrollMode:d,zoomOnDoubleClick:h,panOnDrag:p,zoomActivationKeyPressed:Z,preventScrolling:_,noPanClassName:N,userSelectionActive:X,noWheelClassName:E,lib:Q,onTransformChange:J,connectionInProgress:te,selectionOnDrag:b,paneClickDistance:P})},[t,r,o,l,a,c,d,h,p,Z,_,N,X,E,Q,J,te,b,P]),v.jsx("div",{className:"react-flow__renderer",ref:H,style:Sl,children:M})}const fS=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function hS(){const{userSelectionActive:t,userSelectionRect:r}=ze(fS,Ue);return t&&r?v.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const Tu=(t,r)=>o=>{o.target===r.current&&(t==null||t(o))},pS=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function gS({isSelecting:t,selectionKeyPressed:r,selectionMode:o=lo.Full,panOnDrag:l,autoPanOnSelection:a,paneClickDistance:c,selectionOnDrag:d,onSelectionStart:h,onSelectionEnd:p,onPaneClick:y,onPaneContextMenu:g,onPaneScroll:x,onPaneMouseEnter:m,onPaneMouseMove:S,onPaneMouseLeave:_,children:M}){const E=Y.useRef(0),N=be(),{userSelectionActive:T,elementsSelectable:k,dragging:P,panBy:b,autoPanSpeed:$}=ze(pS,Ue),H=k&&(t||T),X=Y.useRef(null),Q=Y.useRef(),te=Y.useRef(new Set),Z=Y.useRef(new Set),ee=Y.useRef(!1),J=Y.useRef(!1),C=Y.useRef({x:0,y:0}),B=Y.useRef(!1),F=G=>{if(J.current||ee.current||N.getState().connection.inProgress){J.current=!1,ee.current=!1;return}y==null||y(G),N.getState().resetSelectedElements(),N.setState({nodesSelectionActive:!1})},V=G=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){G.preventDefault();return}g==null||g(G)},A=x?G=>x(G):void 0,L=G=>{J.current&&(G.stopPropagation(),J.current=!1)},O=G=>{var Le,rt;if(G.pointerType==="touch"&&l!==!1&&!r)return;const{domNode:se,transform:pe}=N.getState();if(Q.current=se==null?void 0:se.getBoundingClientRect(),!Q.current)return;const we=G.target===X.current;if(!we&&!!G.target.closest(".nokey")||!t||!(d&&we||r)||G.button!==0||!G.isPrimary)return;(rt=(Le=G.target)==null?void 0:Le.setPointerCapture)==null||rt.call(Le,G.pointerId),J.current=!1;const{x:Ce,y:je}=Qt(G.nativeEvent,Q.current),Pe=xo({x:Ce,y:je},pe);N.setState({userSelectionRect:{width:0,height:0,startX:Pe.x,startY:Pe.y,x:Ce,y:je}}),we||(G.stopPropagation(),G.preventDefault())};function j(G,se){const{userSelectionRect:pe}=N.getState();if(!pe)return;const{transform:we,nodeLookup:ve,edgeLookup:me,connectionLookup:Ce,triggerNodeChanges:je,triggerEdgeChanges:Pe,defaultEdgeOptions:Le}=N.getState(),rt={x:pe.startX,y:pe.startY},{x:st,y:Ge}=ii(rt,we),Ke={startX:rt.x,startY:rt.y,x:Gq.id)),Z.current=new Set;const _t=(Le==null?void 0:Le.selectable)??!0;for(const q of te.current){const Se=Ce.get(q);if(Se)for(const{edgeId:Ie}of Se.values()){const Je=me.get(Ie);Je&&(Je.selectable??_t)&&Z.current.add(Ie)}}if(!fh(zt,te.current)){const q=qr(ve,te.current,!0);je(q)}if(!fh(St,Z.current)){const q=qr(me,Z.current);Pe(q)}N.setState({userSelectionRect:Ke,userSelectionActive:!0,nodesSelectionActive:!1})}function z(){if(!a||!Q.current)return;const[G,se]=ic(C.current,Q.current,$);b({x:G,y:se}).then(pe=>{if(!J.current||!pe){E.current=requestAnimationFrame(z);return}const{x:we,y:ve}=C.current;j(we,ve),E.current=requestAnimationFrame(z)})}const ne=()=>{cancelAnimationFrame(E.current),E.current=0,B.current=!1};Y.useEffect(()=>()=>ne(),[]);const re=G=>{const{userSelectionRect:se,transform:pe,resetSelectedElements:we}=N.getState();if(!Q.current||!se)return;const{x:ve,y:me}=Qt(G.nativeEvent,Q.current);C.current={x:ve,y:me};const Ce=ii({x:se.startX,y:se.startY},pe);if(!J.current){const je=r?0:c;if(Math.hypot(ve-Ce.x,me-Ce.y)<=je)return;we(),h==null||h(G)}J.current=!0,B.current||(z(),B.current=!0),j(ve,me)},ue=G=>{var se,pe;if(!H){G.target===X.current&&N.getState().connection.inProgress&&(ee.current=!0);return}G.button===0&&((pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),!T&&G.target===X.current&&N.getState().userSelectionRect&&(F==null||F(G)),N.setState({userSelectionActive:!1,userSelectionRect:null}),J.current&&(p==null||p(G),N.setState({nodesSelectionActive:te.current.size>0})),ne())},ce=G=>{var se,pe;(pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),ne()},de=l===!0||Array.isArray(l)&&l.includes(0);return v.jsxs("div",{className:Qe(["react-flow__pane",{draggable:de,dragging:P,selection:t}]),onClick:H?void 0:Tu(F,X),onContextMenu:Tu(V,X),onWheel:Tu(A,X),onPointerEnter:H?void 0:m,onPointerMove:H?re:S,onPointerUp:ue,onPointerCancel:H?ce:void 0,onPointerDownCapture:H?O:void 0,onClickCapture:H?L:void 0,onPointerLeave:_,ref:X,style:Sl,children:[M,v.jsx(hS,{})]})}function Xu({id:t,store:r,unselect:o=!1,nodeRef:l}){const{addSelectedNodes:a,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:h,onError:p}=r.getState(),y=h.get(t);if(!y){p==null||p("012",Gt.error012(t));return}r.setState({nodesSelectionActive:!1}),y.selected?(o||y.selected&&d)&&(c({nodes:[y],edges:[]}),requestAnimationFrame(()=>{var g;return(g=l==null?void 0:l.current)==null?void 0:g.blur()})):a([t])}function xg({nodeRef:t,disabled:r=!1,noDragClassName:o,handleSelector:l,nodeId:a,isSelectable:c,nodeClickDistance:d}){const h=be(),[p,y]=Y.useState(!1),g=Y.useRef();return Y.useEffect(()=>{if(!r)return g.current=e1({getStoreItems:()=>h.getState(),onNodeMouseDown:x=>{Xu({id:x,store:h,nodeRef:t})},onDragStart:()=>{y(!0)},onDragStop:()=>{y(!1)}}),()=>{var x;(x=g.current)==null||x.destroy(),g.current=void 0}},[r,h,t]),Y.useEffect(()=>{r||!t.current||!g.current||g.current.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:c,nodeId:a,nodeClickDistance:d})},[o,l,r,c,t,a,d]),p}const mS=t=>r=>r.selected&&(r.draggable||t&&typeof r.draggable>"u");function wg(){const t=be();return Y.useCallback(o=>{const{nodeExtent:l,snapToGrid:a,snapGrid:c,nodesDraggable:d,onError:h,updateNodePositions:p,nodeLookup:y,nodeOrigin:g}=t.getState(),x=new Map,m=mS(d),S=a?c[0]:5,_=a?c[1]:5,M=o.direction.x*S*o.factor,E=o.direction.y*_*o.factor;for(const[,N]of y){if(!m(N))continue;let T={x:N.internals.positionAbsolute.x+M,y:N.internals.positionAbsolute.y+E};a&&(T=vo(T,c));const{position:k,positionAbsolute:P}=bp({nodeId:N.id,nextPosition:T,nodeLookup:y,nodeExtent:l,nodeOrigin:g,onError:h});N.position=k,N.internals.positionAbsolute=P,x.set(N.id,N)}p(x)},[])}const hc=Y.createContext(null),yS=hc.Provider;hc.Consumer;const Sg=()=>Y.useContext(hc),vS=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),_g=Y.createContext(null);function xS({children:t}){const r=ze(vS,Ue);return v.jsx(_g.Provider,{value:r,children:t})}function wS(){const t=Y.useContext(_g);if(!t)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return t}const SS={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},_S=(t,r,o)=>l=>{const{connectionClickStartHandle:a,connectionMode:c,connection:d}=l,{fromHandle:h,toHandle:p,isValid:y}=d;if(!h&&!a)return SS;const g=(p==null?void 0:p.nodeId)===t&&(p==null?void 0:p.id)===r&&(p==null?void 0:p.type)===o;return{connectingFrom:(h==null?void 0:h.nodeId)===t&&(h==null?void 0:h.id)===r&&(h==null?void 0:h.type)===o,connectingTo:g,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.id)===r&&(a==null?void 0:a.type)===o,isPossibleEndHandle:c===ni.Strict?(h==null?void 0:h.type)!==o:t!==(h==null?void 0:h.nodeId)||r!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!a,valid:g&&y}};function kS({type:t="source",position:r=_e.Top,isValidConnection:o,isConnectable:l=!0,isConnectableStart:a=!0,isConnectableEnd:c=!0,id:d,onConnect:h,children:p,className:y,onMouseDown:g,onTouchStart:x,...m},S){var B,F;const _=d||null,M=t==="target",E=be(),N=Sg(),{connectOnClick:T,noPanClassName:k,rfId:P}=wS(),{connectingFrom:b,connectingTo:$,clickConnecting:H,isPossibleEndHandle:X,connectionInProcess:Q,clickConnectionInProcess:te,valid:Z}=ze(_S(N,_,t),Ue);N||(F=(B=E.getState()).onError)==null||F.call(B,"010",Gt.error010());const ee=V=>{const{defaultEdgeOptions:A,onConnect:L,hasDefaultEdges:O}=E.getState(),j={...A,...V};if(O){const{edges:z,setEdges:ne,onError:re}=E.getState();ne(tS(j,z,{onError:re}))}L==null||L(j),h==null||h(j)},J=V=>{if(!N)return;const A=Qp(V.nativeEvent);if(a&&(A&&V.button===0||!A)){const L=E.getState();Yu.onPointerDown(V.nativeEvent,{handleDomNode:V.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:M,handleId:_,nodeId:N,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...O)=>{var j,z;return(z=(j=E.getState()).onConnectEnd)==null?void 0:z.call(j,...O)},updateConnection:L.updateConnection,onConnect:ee,isValidConnection:o||((...O)=>{var j,z;return((z=(j=E.getState()).isValidConnection)==null?void 0:z.call(j,...O))??!0}),getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}A?g==null||g(V):x==null||x(V)},C=V=>{const{onClickConnectStart:A,onClickConnectEnd:L,connectionClickStartHandle:O,connectionMode:j,isValidConnection:z,lib:ne,rfId:re,nodeLookup:ue,connection:ce}=E.getState();if(!N||!O&&!a)return;if(!O){A==null||A(V.nativeEvent,{nodeId:N,handleId:_,handleType:t}),E.setState({connectionClickStartHandle:{nodeId:N,type:t,id:_}});return}const de=Yp(V.target),G=o||z,{connection:se,isValid:pe}=Yu.isValid(V.nativeEvent,{handle:{nodeId:N,id:_,type:t},connectionMode:j,fromNodeId:O.nodeId,fromHandleId:O.id||null,fromType:O.type,isValidConnection:G,flowId:re,doc:de,lib:ne,nodeLookup:ue});pe&&se&&ee(se);const we=structuredClone(ce);delete we.inProgress,we.toPosition=we.toHandle?we.toHandle.position:null,L==null||L(V,we),E.setState({connectionClickStartHandle:null})};return v.jsx("div",{"data-handleid":_,"data-nodeid":N,"data-handlepos":r,"data-id":`${P}-${N}-${_}-${t}`,className:Qe(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",k,y,{source:!M,target:M,connectable:l,connectablestart:a,connectableend:c,clickconnecting:H,connectingfrom:b,connectingto:$,valid:Z,connectionindicator:l&&(!Q||X)&&(Q||te?c:a)}]),onMouseDown:J,onTouchStart:J,onClick:T?C:void 0,ref:S,...m,children:p})}const al=Y.memo(mg(kS));function ES({data:t,isConnectable:r,sourcePosition:o=_e.Bottom}){return v.jsxs(v.Fragment,{children:[t==null?void 0:t.label,v.jsx(al,{type:"source",position:o,isConnectable:r})]})}function NS({data:t,isConnectable:r,targetPosition:o=_e.Top,sourcePosition:l=_e.Bottom}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label,v.jsx(al,{type:"source",position:l,isConnectable:r})]})}function CS(){return null}function jS({data:t,isConnectable:r,targetPosition:o=_e.Top}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label]})}const ul={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Bh={input:ES,default:NS,output:jS,group:CS};function MS(t){var r,o,l,a;return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??((r=t.style)==null?void 0:r.width),height:t.height??t.initialHeight??((o=t.style)==null?void 0:o.height)}:{width:t.width??((l=t.style)==null?void 0:l.width),height:t.height??((a=t.style)==null?void 0:a.height)}}const PS=t=>{const{width:r,height:o,x:l,y:a}=yo(t.nodeLookup,{filter:c=>!!c.selected});return{width:Xt(r)?r:null,height:Xt(o)?o:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${l}px,${a}px)`}};function IS({onSelectionContextMenu:t,noPanClassName:r,disableKeyboardA11y:o}){const l=be(),{width:a,height:c,transformString:d,userSelectionActive:h}=ze(PS,Ue),p=wg(),y=Y.useRef(null);Y.useEffect(()=>{var S;o||(S=y.current)==null||S.focus({preventScroll:!0})},[o]);const g=!h&&a!==null&&c!==null;if(xg({nodeRef:y,disabled:!g}),!g)return null;const x=t?S=>{const _=l.getState().nodes.filter(M=>M.selected);t(S,_)}:void 0,m=S=>{Object.prototype.hasOwnProperty.call(ul,S.key)&&(S.preventDefault(),p({direction:ul[S.key],factor:S.shiftKey?4:1}))};return v.jsx("div",{className:Qe(["react-flow__nodesselection","react-flow__container",r]),style:{transform:d},children:v.jsx("div",{ref:y,className:"react-flow__nodesselection-rect",onContextMenu:x,tabIndex:o?void 0:-1,onKeyDown:o?void 0:m,style:{width:a,height:c}})})}const Uh=typeof window<"u"?window:void 0,TS=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function kg({children:t,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:y,selectionOnDrag:g,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:M,zoomActivationKeyCode:E,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:P,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:X,autoPanOnSelection:Q,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,preventScrolling:C,onSelectionContextMenu:B,noWheelClassName:F,noPanClassName:V,disableKeyboardA11y:A,onViewportChange:L,isControlledViewport:O}){const{nodesSelectionActive:j,userSelectionActive:z}=ze(TS,Ue),ne=co(y,{target:Uh}),re=co(M,{target:Uh}),ue=re||X,ce=re||P,de=g&&ue!==!0,G=ne||z||de;return aS({deleteKeyCode:p,multiSelectionKeyCode:_}),v.jsx(dS,{onPaneContextMenu:c,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:ce,panActivationKeyPressed:re,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:!ne&&ue,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,zoomActivationKeyCode:E,preventScrolling:C,noWheelClassName:F,noPanClassName:V,onViewportChange:L,isControlledViewport:O,paneClickDistance:h,selectionOnDrag:de,children:v.jsxs(gS,{onSelectionStart:m,onSelectionEnd:S,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:ue,autoPanOnSelection:Q,isSelecting:!!G,selectionMode:x,selectionKeyPressed:ne,paneClickDistance:h,selectionOnDrag:de,children:[t,j&&v.jsx(IS,{onSelectionContextMenu:B,noPanClassName:V,disableKeyboardA11y:A})]})})}kg.displayName="FlowRenderer";const zS=Y.memo(kg),RS=t=>r=>t?rc(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(o=>o.id):Array.from(r.nodeLookup.keys());function LS(t){return ze(Y.useCallback(RS(t),[t]),Ue)}const AS=t=>t.updateNodeInternals;function $S(){const t=ze(AS),[r]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(o=>{const l=new Map;o.forEach(a=>{const c=a.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:a.target,force:!0})}),t(l)}));return Y.useEffect(()=>()=>{r==null||r.disconnect()},[r]),r}function DS({node:t,nodeType:r,hasDimensions:o,resizeObserver:l}){const a=be(),c=Y.useRef(null),d=Y.useRef(null),h=Y.useRef(t.sourcePosition),p=Y.useRef(t.targetPosition),y=Y.useRef(r),g=o&&!!t.internals.handleBounds;return Y.useEffect(()=>{c.current&&!t.hidden&&(!g||d.current!==c.current)&&(d.current&&(l==null||l.unobserve(d.current)),l==null||l.observe(c.current),d.current=c.current)},[g,t.hidden]),Y.useEffect(()=>()=>{d.current&&(l==null||l.unobserve(d.current),d.current=null)},[]),Y.useEffect(()=>{if(c.current){const x=y.current!==r,m=h.current!==t.sourcePosition,S=p.current!==t.targetPosition;(x||m||S)&&(y.current=r,h.current=t.sourcePosition,p.current=t.targetPosition,a.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,r,t.sourcePosition,t.targetPosition]),c}function OS({id:t,onClick:r,onMouseEnter:o,onMouseMove:l,onMouseLeave:a,onContextMenu:c,onDoubleClick:d,nodesDraggable:h,elementsSelectable:p,nodesConnectable:y,nodesFocusable:g,resizeObserver:x,noDragClassName:m,noPanClassName:S,disableKeyboardA11y:_,rfId:M,nodeTypes:E,nodeClickDistance:N,onError:T}){const{node:k,internals:P,isParent:b}=ze(G=>{const se=G.nodeLookup.get(t),pe=G.parentLookup.has(t);return{node:se,internals:se.internals,isParent:pe}},Ue);let $=k.type||"default",H=(E==null?void 0:E[$])||Bh[$];H===void 0&&(T==null||T("003",Gt.error003($)),$="default",H=(E==null?void 0:E.default)||Bh.default);const X=!!(k.draggable||h&&typeof k.draggable>"u"),Q=!!(k.selectable||p&&typeof k.selectable>"u"),te=!!(k.connectable||y&&typeof k.connectable>"u"),Z=!!(k.focusable||g&&typeof k.focusable>"u"),ee=be(),J=Up(k),C=DS({node:k,nodeType:$,hasDimensions:J,resizeObserver:x}),B=xg({nodeRef:C,disabled:k.hidden||!X,noDragClassName:m,handleSelector:k.dragHandle,nodeId:t,isSelectable:Q,nodeClickDistance:N}),F=wg();if(k.hidden)return null;const V=qt(k),A=MS(k),L=Q||X||r||o||l||a,O=o?G=>o(G,{...P.userNode}):void 0,j=l?G=>l(G,{...P.userNode}):void 0,z=a?G=>a(G,{...P.userNode}):void 0,ne=c?G=>c(G,{...P.userNode}):void 0,re=d?G=>d(G,{...P.userNode}):void 0,ue=G=>{const{selectNodesOnDrag:se,nodeDragThreshold:pe}=ee.getState();Q&&(!se||!X||pe>0)&&Xu({id:t,store:ee,nodeRef:C}),r&&r(G,{...P.userNode})},ce=G=>{if(!(Xp(G.nativeEvent)||_)){if(Lp.includes(G.key)&&Q){const se=G.key==="Escape";Xu({id:t,store:ee,unselect:se,nodeRef:C})}else if(X&&k.selected&&Object.prototype.hasOwnProperty.call(ul,G.key)){G.preventDefault();const{ariaLabelConfig:se}=ee.getState();ee.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:G.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),F({direction:ul[G.key],factor:G.shiftKey?4:1})}}},de=()=>{var Ce;if(_||!((Ce=C.current)!=null&&Ce.matches(":focus-visible")))return;const{transform:G,width:se,height:pe,autoPanOnNodeFocus:we,setCenter:ve}=ee.getState();if(!we)return;rc(new Map([[t,k]]),{x:0,y:0,width:se,height:pe},G,!0).length>0||ve(k.position.x+V.width/2,k.position.y+V.height/2,{zoom:G[2]})};return v.jsx("div",{className:Qe(["react-flow__node",`react-flow__node-${$}`,{[S]:X},k.className,{selected:k.selected,selectable:Q,parent:b,draggable:X,dragging:B}]),ref:C,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:J?"visible":"hidden",...k.style,...A},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:O,onMouseMove:j,onMouseLeave:z,onContextMenu:ne,onClick:ue,onDoubleClick:re,onKeyDown:Z?ce:void 0,tabIndex:Z?0:void 0,onFocus:Z?de:void 0,role:k.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${fg}-${M}`,"aria-label":k.ariaLabel,...k.domAttributes,children:v.jsx(yS,{value:t,children:v.jsx(H,{id:t,data:k.data,type:$,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:k.selected??!1,selectable:Q,draggable:X,deletable:k.deletable??!0,isConnectable:te,sourcePosition:k.sourcePosition,targetPosition:k.targetPosition,dragging:B,dragHandle:k.dragHandle,zIndex:P.z,parentId:k.parentId,...V})})})}var bS=Y.memo(OS);const FS=t=>({nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Eg(t){const{nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,onError:a}=ze(FS,Ue),c=LS(t.onlyRenderVisibleElements),d=$S();return v.jsx("div",{className:"react-flow__nodes",style:Sl,children:c.map(h=>v.jsx(bS,{id:h,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:d,nodesDraggable:t.nodesDraggable??!0,nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,nodeClickDistance:t.nodeClickDistance,onError:a},h))})}Eg.displayName="NodeRenderer";const HS=Y.memo(Eg);function VS(t){return ze(Y.useCallback(o=>{if(!t)return o.edges.map(a=>a.id);const l=[];if(o.width&&o.height)for(const a of o.edges){const c=o.nodeLookup.get(a.source),d=o.nodeLookup.get(a.target);c&&d&&Aw({sourceNode:c,targetNode:d,width:o.width,height:o.height,transform:o.transform})&&l.push(a.id)}return l},[t]),Ue)}const BS=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t}};return v.jsx("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},US=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t,fill:t}};return v.jsx("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Wh={[ol.Arrow]:BS,[ol.ArrowClosed]:US};function WS(t){const r=be();return Y.useMemo(()=>{var a,c;return Object.prototype.hasOwnProperty.call(Wh,t)?Wh[t]:((c=(a=r.getState()).onError)==null||c.call(a,"009",Gt.error009(t)),null)},[t])}const YS=({id:t,type:r,color:o,width:l=12.5,height:a=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:h="auto-start-reverse"})=>{const p=WS(r);return p?v.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${l}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:v.jsx(p,{color:o,strokeWidth:d})}):null},Ng=({defaultColor:t,rfId:r})=>{const o=ze(c=>c.edges),l=ze(c=>c.defaultEdgeOptions),a=Y.useMemo(()=>Bw(o,{id:r,defaultColor:t,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[o,l,r,t]);return a.length?v.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:v.jsx("defs",{children:a.map(c=>v.jsx(YS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Ng.displayName="MarkerDefinitions";var XS=Y.memo(Ng);function Cg({x:t,y:r,label:o,labelStyle:l,labelShowBg:a=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:h=2,children:p,className:y,...g}){const[x,m]=Y.useState({x:1,y:0,width:0,height:0}),S=Qe(["react-flow__edge-textwrapper",y]),_=Y.useRef(null);return Y.useEffect(()=>{if(_.current){const M=_.current.getBBox();m({x:M.x,y:M.y,width:M.width,height:M.height})}},[o]),o?v.jsxs("g",{transform:`translate(${t-x.width/2} ${r-x.height/2})`,className:S,visibility:x.width?"visible":"hidden",...g,children:[a&&v.jsx("rect",{width:x.width+2*d[0],x:-d[0],y:-d[1],height:x.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),v.jsx("text",{className:"react-flow__edge-text",y:x.height/2,dy:"0.3em",ref:_,style:l,children:o}),p]}):null}Cg.displayName="EdgeText";const QS=Y.memo(Cg);function _l({path:t,labelX:r,labelY:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:y=20,...g}){return v.jsxs(v.Fragment,{children:[v.jsx("path",{...g,d:t,fill:"none",className:Qe(["react-flow__edge-path",g.className])}),y?v.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:y,className:"react-flow__edge-interaction"}):null,l&&Xt(r)&&Xt(o)?v.jsx(QS,{x:r,y:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Yh({pos:t,x1:r,y1:o,x2:l,y2:a}){return t===_e.Left||t===_e.Right?[.5*(r+l),o]:[r,.5*(o+a)]}function jg({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top}){const[d,h]=Yh({pos:o,x1:t,y1:r,x2:l,y2:a}),[p,y]=Yh({pos:c,x1:l,y1:a,x2:t,y2:r}),[g,x,m,S]=Gp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:d,sourceControlY:h,targetControlX:p,targetControlY:y});return[`M${t},${r} C${d},${h} ${p},${y} ${l},${a}`,g,x,m,S]}function Mg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d,targetPosition:h,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})=>{const[T,k,P]=jg({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h}),b=t.isInternal?void 0:r;return v.jsx(_l,{id:b,path:T,labelX:k,labelY:P,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})})}const GS=Mg({isInternal:!1}),Pg=Mg({isInternal:!0});GS.displayName="SimpleBezierEdge";Pg.displayName="SimpleBezierEdgeInternal";function Ig(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,sourcePosition:S=_e.Bottom,targetPosition:_=_e.Top,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Bu({sourceX:o,sourceY:l,sourcePosition:S,targetX:a,targetY:c,targetPosition:_,borderRadius:N==null?void 0:N.borderRadius,offset:N==null?void 0:N.offset,stepPosition:N==null?void 0:N.stepPosition}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:M,markerStart:E,interactionWidth:T})})}const Tg=Ig({isInternal:!1}),zg=Ig({isInternal:!0});Tg.displayName="SmoothStepEdge";zg.displayName="SmoothStepEdgeInternal";function Rg(t){return Y.memo(({id:r,...o})=>{var a;const l=t.isInternal?void 0:r;return v.jsx(Tg,{...o,id:l,pathOptions:Y.useMemo(()=>{var c;return{borderRadius:0,offset:(c=o.pathOptions)==null?void 0:c.offset}},[(a=o.pathOptions)==null?void 0:a.offset])})})}const KS=Rg({isInternal:!1}),Lg=Rg({isInternal:!0});KS.displayName="StepEdge";Lg.displayName="StepEdgeInternal";function Ag(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})=>{const[E,N,T]=Zp({sourceX:o,sourceY:l,targetX:a,targetY:c}),k=t.isInternal?void 0:r;return v.jsx(_l,{id:k,path:E,labelX:N,labelY:T,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})})}const qS=Ag({isInternal:!1}),$g=Ag({isInternal:!0});qS.displayName="StraightEdge";$g.displayName="StraightEdgeInternal";function Dg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d=_e.Bottom,targetPosition:h=_e.Top,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Kp({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h,curvature:N==null?void 0:N.curvature}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:T})})}const ZS=Dg({isInternal:!1}),Og=Dg({isInternal:!0});ZS.displayName="BezierEdge";Og.displayName="BezierEdgeInternal";const Xh={default:Og,straight:$g,step:Lg,smoothstep:zg,simplebezier:Pg},Qh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},JS=(t,r,o)=>o===_e.Left?t-r:o===_e.Right?t+r:t,e_=(t,r,o)=>o===_e.Top?t-r:o===_e.Bottom?t+r:t,Gh="react-flow__edgeupdater";function Kh({position:t,centerX:r,centerY:o,radius:l=10,onMouseDown:a,onMouseEnter:c,onMouseOut:d,type:h}){return v.jsx("circle",{onMouseDown:a,onMouseEnter:c,onMouseOut:d,className:Qe([Gh,`${Gh}-${h}`]),cx:JS(r,l,t),cy:e_(o,l,t),r:l,stroke:"transparent",fill:"transparent"})}function t_({isReconnectable:t,reconnectRadius:r,edge:o,sourceX:l,sourceY:a,targetX:c,targetY:d,sourcePosition:h,targetPosition:p,onReconnect:y,onReconnectStart:g,onReconnectEnd:x,setReconnecting:m,setUpdateHover:S}){const _=be(),M=(P,b)=>{if(P.button!==0)return;const{autoPanOnConnect:$,domNode:H,connectionMode:X,connectionRadius:Q,lib:te,onConnectStart:Z,cancelConnection:ee,nodeLookup:J,rfId:C,panBy:B,updateConnection:F}=_.getState(),V=b.type==="target",A=(j,z)=>{m(!1),x==null||x(j,o,b.type,z)},L=j=>y==null?void 0:y(o,j),O=(j,z)=>{m(!0),g==null||g(P,o,b.type),Z==null||Z(j,z)};Yu.onPointerDown(P.nativeEvent,{autoPanOnConnect:$,connectionMode:X,connectionRadius:Q,domNode:H,handleId:b.id,nodeId:b.nodeId,nodeLookup:J,isTarget:V,edgeUpdaterType:b.type,lib:te,flowId:C,cancelConnection:ee,panBy:B,isValidConnection:(...j)=>{var z,ne;return((ne=(z=_.getState()).isValidConnection)==null?void 0:ne.call(z,...j))??!0},onConnect:L,onConnectStart:O,onConnectEnd:(...j)=>{var z,ne;return(ne=(z=_.getState()).onConnectEnd)==null?void 0:ne.call(z,...j)},onReconnectEnd:A,updateConnection:F,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:P.currentTarget})},E=P=>M(P,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),N=P=>M(P,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),T=()=>S(!0),k=()=>S(!1);return v.jsxs(v.Fragment,{children:[(t===!0||t==="source")&&v.jsx(Kh,{position:h,centerX:l,centerY:a,radius:r,onMouseDown:E,onMouseEnter:T,onMouseOut:k,type:"source"}),(t===!0||t==="target")&&v.jsx(Kh,{position:p,centerX:c,centerY:d,radius:r,onMouseDown:N,onMouseEnter:T,onMouseOut:k,type:"target"})]})}function n_({id:t,edgesFocusable:r,edgesReconnectable:o,elementsSelectable:l,onClick:a,onDoubleClick:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,rfId:_,edgeTypes:M,noPanClassName:E,onError:N,disableKeyboardA11y:T}){let k=ze(ve=>ve.edgeLookup.get(t));const P=ze(ve=>ve.defaultEdgeOptions);k=P?{...P,...k}:k;let b=k.type||"default",$=(M==null?void 0:M[b])||Xh[b];$===void 0&&(N==null||N("011",Gt.error011(b)),b="default",$=(M==null?void 0:M.default)||Xh.default);const H=!!(k.focusable||r&&typeof k.focusable>"u"),X=typeof x<"u"&&(k.reconnectable||o&&typeof k.reconnectable>"u"),Q=!!(k.selectable||l&&typeof k.selectable>"u"),te=Y.useRef(null),[Z,ee]=Y.useState(!1),[J,C]=Y.useState(!1),B=be(),{zIndex:F=k.zIndex,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z}=ze(Y.useCallback(ve=>{const me=ve.nodeLookup.get(k.source),Ce=ve.nodeLookup.get(k.target);if(!me||!Ce)return Qh;const je=Vw({id:t,sourceNode:me,targetNode:Ce,sourceHandle:k.sourceHandle||null,targetHandle:k.targetHandle||null,connectionMode:ve.connectionMode,onError:N}),Pe=Lw({selected:k.selected,zIndex:k.zIndex,sourceNode:me,targetNode:Ce,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode});return{...je||Qh,zIndex:Pe}},[k.source,k.target,k.sourceHandle,k.targetHandle,k.selected,k.zIndex,N]),Ue),ne=Y.useMemo(()=>k.markerStart?`url('#${Uu(k.markerStart,_)}')`:void 0,[k.markerStart,_]),re=Y.useMemo(()=>k.markerEnd?`url('#${Uu(k.markerEnd,_)}')`:void 0,[k.markerEnd,_]);if(k.hidden||V===null||A===null||L===null||O===null)return null;const ue=ve=>{var Pe;const{addSelectedEdges:me,unselectNodesAndEdges:Ce,multiSelectionActive:je}=B.getState();Q&&(B.setState({nodesSelectionActive:!1}),k.selected&&je?(Ce({nodes:[],edges:[k]}),(Pe=te.current)==null||Pe.blur()):me([t])),a&&a(ve,k)},ce=c?ve=>{c(ve,{...k})}:void 0,de=d?ve=>{d(ve,{...k})}:void 0,G=h?ve=>{h(ve,{...k})}:void 0,se=p?ve=>{p(ve,{...k})}:void 0,pe=y?ve=>{y(ve,{...k})}:void 0,we=ve=>{var me;if(!T&&Lp.includes(ve.key)&&Q){const{unselectNodesAndEdges:Ce,addSelectedEdges:je}=B.getState();ve.key==="Escape"?((me=te.current)==null||me.blur(),Ce({edges:[k]})):je([t])}};return v.jsx("svg",{style:{zIndex:F},children:v.jsxs("g",{className:Qe(["react-flow__edge",`react-flow__edge-${b}`,k.className,E,{selected:k.selected,animated:k.animated,inactive:!Q&&!a,updating:Z,selectable:Q}]),onClick:ue,onDoubleClick:ce,onContextMenu:de,onMouseEnter:G,onMouseMove:se,onMouseLeave:pe,onKeyDown:H?we:void 0,tabIndex:H?0:void 0,role:k.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":k.ariaLabel===null?void 0:k.ariaLabel||`Edge from ${k.source} to ${k.target}`,"aria-describedby":H?`${hg}-${_}`:void 0,ref:te,...k.domAttributes,children:[!J&&v.jsx($,{id:t,source:k.source,target:k.target,type:k.type,selected:k.selected,animated:k.animated,selectable:Q,deletable:k.deletable??!0,label:k.label,labelStyle:k.labelStyle,labelShowBg:k.labelShowBg,labelBgStyle:k.labelBgStyle,labelBgPadding:k.labelBgPadding,labelBgBorderRadius:k.labelBgBorderRadius,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,data:k.data,style:k.style,sourceHandleId:k.sourceHandle,targetHandleId:k.targetHandle,markerStart:ne,markerEnd:re,pathOptions:"pathOptions"in k?k.pathOptions:void 0,interactionWidth:k.interactionWidth}),X&&v.jsx(t_,{edge:k,isReconnectable:X,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,setUpdateHover:ee,setReconnecting:C})]})})}var r_=Y.memo(n_);const i_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function bg({defaultMarkerColor:t,onlyRenderVisibleElements:r,rfId:o,edgeTypes:l,noPanClassName:a,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:y,onEdgeClick:g,reconnectRadius:x,onEdgeDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:M}){const{edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,onError:k}=ze(i_,Ue),P=VS(r);return v.jsxs("div",{className:"react-flow__edges",children:[v.jsx(XS,{defaultColor:t,rfId:o}),P.map(b=>v.jsx(r_,{id:b,edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,noPanClassName:a,onReconnect:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,onClick:g,reconnectRadius:x,onDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,rfId:o,onError:k,edgeTypes:l,disableKeyboardA11y:M},b))]})}bg.displayName="EdgeRenderer";const o_=Y.memo(bg),qh=t=>`translate(${t[0]}px,${t[1]}px) scale(${t[2]})`;function s_({children:t}){const r=be(),o=Y.useRef(null),[l]=Y.useState(()=>r.getState().transform);return yg(()=>{let a=null;const c=()=>{const d=r.getState().transform;a&&d[0]===a[0]&&d[1]===a[1]&&d[2]===a[2]||(a=d,o.current&&(o.current.style.transform=qh(d)))};return c(),r.subscribe(c)},[r]),v.jsx("div",{ref:o,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:qh(l)},children:t})}function l_(t){const r=fc(),o=Y.useRef(!1);Y.useEffect(()=>{!o.current&&r.viewportInitialized&&t&&(setTimeout(()=>t(r),1),o.current=!0)},[t,r.viewportInitialized])}const a_=t=>{var r;return(r=t.panZoom)==null?void 0:r.syncViewport};function u_(t){const r=ze(a_),o=be();return Y.useEffect(()=>{t&&(r==null||r(t),o.setState({transform:[t.x,t.y,t.zoom]}))},[t,r]),null}function c_(t){return t.connection.inProgress?{...t.connection,to:xo(t.connection.to,t.transform)}:{...t.connection}}function d_(t){return c_}function f_(t){const r=d_();return ze(r,Ue)}const h_=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function p_({containerStyle:t,style:r,type:o,component:l}){const{nodesConnectable:a,width:c,height:d,isValid:h,inProgress:p}=ze(h_,Ue);return!(c&&a&&p)?null:v.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:v.jsx("g",{className:Qe(["react-flow__connection",Dp(h)]),children:v.jsx(Fg,{style:r,type:o,CustomComponent:l,isValid:h})})})}const Fg=({style:t,type:r=Wn.Bezier,CustomComponent:o,isValid:l})=>{const{inProgress:a,from:c,fromNode:d,fromHandle:h,fromPosition:p,to:y,toNode:g,toHandle:x,toPosition:m,pointer:S}=f_();if(!a)return;if(o)return v.jsx(o,{connectionLineType:r,connectionLineStyle:t,fromNode:d,fromHandle:h,fromX:c.x,fromY:c.y,toX:y.x,toY:y.y,fromPosition:p,toPosition:m,connectionStatus:Dp(l),toNode:g,toHandle:x,pointer:S});let _="";const M={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:y.x,targetY:y.y,targetPosition:m};switch(r){case Wn.Bezier:[_]=Kp(M);break;case Wn.SimpleBezier:[_]=jg(M);break;case Wn.Step:[_]=Bu({...M,borderRadius:0});break;case Wn.SmoothStep:[_]=Bu(M);break;default:[_]=Zp(M)}return v.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:t})};Fg.displayName="ConnectionLine";const g_={};function Zh(t=g_){Y.useRef(t),be(),Y.useEffect(()=>{},[t])}function m_(){be(),Y.useRef(!1),Y.useEffect(()=>{},[])}function Hg({nodeTypes:t,edgeTypes:r,onInit:o,onNodeClick:l,onEdgeClick:a,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,onSelectionContextMenu:x,onSelectionStart:m,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:M,connectionLineComponent:E,connectionLineContainerStyle:N,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,deleteKeyCode:X,onlyRenderVisibleElements:Q,elementsSelectable:te,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,preventScrolling:B,defaultMarkerColor:F,zoomOnScroll:V,zoomOnPinch:A,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,zoomOnDoubleClick:z,panOnDrag:ne,autoPanOnSelection:re,onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneScroll:se,onPaneContextMenu:pe,paneClickDistance:we,nodeClickDistance:ve,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,viewport:Ie,onViewportChange:Je,nodesDraggable:wn}){return Zh(t),Zh(r),m_(),l_(o),u_(Ie),v.jsx(zS,{onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneContextMenu:pe,onPaneScroll:se,paneClickDistance:we,deleteKeyCode:X,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,elementsSelectable:te,zoomOnScroll:V,zoomOnPinch:A,zoomOnDoubleClick:z,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,panOnDrag:ne,autoPanOnSelection:re,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,onSelectionContextMenu:x,preventScrolling:B,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,onViewportChange:Je,isControlledViewport:!!Ie,children:v.jsxs(s_,{children:[v.jsx(o_,{edgeTypes:r,onEdgeClick:a,onEdgeDoubleClick:d,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,onlyRenderVisibleElements:Q,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,defaultMarkerColor:F,noPanClassName:St,disableKeyboardA11y:_t,rfId:Se}),v.jsx(p_,{style:M,type:_,component:E,containerStyle:N}),v.jsx("div",{className:"react-flow__edgelabel-renderer"}),v.jsx(HS,{nodeTypes:t,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:Q,noPanClassName:St,noDragClassName:Ke,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,nodesDraggable:wn}),v.jsx("div",{className:"react-flow__viewport-portal"})]})})}Hg.displayName="GraphView";const y_=Y.memo(Hg),v_=Bp(),Jh=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p=.5,maxZoom:y=2,nodeOrigin:g,nodeExtent:x,zIndexMode:m="basic"}={})=>{const S=new Map,_=new Map,M=new Map,E=new Map,N=l??r??[],T=o??t??[],k=g??[0,0],P=x??so;tg(M,E,N);const{nodesInitialized:b}=Wu(T,S,_,{nodeOrigin:k,nodeExtent:P,zIndexMode:m});let $=[0,0,1];if(d&&a&&c){const H=yo(S,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:X,y:Q,zoom:te}=oc(H,a,c,p,y,(h==null?void 0:h.padding)??.1);$=[X,Q,te]}return{rfId:"1",width:a??0,height:c??0,transform:$,nodes:T,nodesInitialized:b,nodeLookup:S,parentLookup:_,edges:N,edgeLookup:E,connectionLookup:M,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:o!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:p,maxZoom:y,translateExtent:so,nodeExtent:P,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ni.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:k,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:d??!1,fitViewOptions:h,fitViewResolver:null,connection:{...$p},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:v_,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ap,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},x_=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m})=>T1((S,_)=>{async function M(){const{nodeLookup:E,panZoom:N,fitViewOptions:T,fitViewResolver:k,width:P,height:b,minZoom:$,maxZoom:H}=_();N&&(await jw({nodes:E,width:P,height:b,panZoom:N,minZoom:$,maxZoom:H},T),k==null||k.resolve(!0),S({fitViewResolver:null}))}return{...Jh({nodes:t,edges:r,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,defaultNodes:o,defaultEdges:l,zIndexMode:m}),setNodes:E=>{const{nodeLookup:N,parentLookup:T,nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,fitViewQueued:$,zIndexMode:H,nodesSelectionActive:X}=_(),{nodesInitialized:Q,hasSelectedNodes:te}=Wu(E,N,T,{nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,checkEquality:!0,zIndexMode:H}),Z=X&&te;$&&Q?(M(),S({nodes:E,nodesInitialized:Q,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:Z})):S({nodes:E,nodesInitialized:Q,nodesSelectionActive:Z})},setEdges:E=>{const{connectionLookup:N,edgeLookup:T}=_();tg(N,T,E),S({edges:E})},setDefaultNodesAndEdges:(E,N)=>{if(E){const{setNodes:T}=_();T(E),S({hasDefaultNodes:!0})}if(N){const{setEdges:T}=_();T(N),S({hasDefaultEdges:!0})}},updateNodeInternals:E=>{const{triggerNodeChanges:N,nodeLookup:T,parentLookup:k,domNode:P,nodeOrigin:b,nodeExtent:$,debug:H,fitViewQueued:X,zIndexMode:Q}=_(),{changes:te,updatedInternals:Z}=Kw(E,T,k,P,b,$,Q);Z&&(Yw(T,k,{nodeOrigin:b,nodeExtent:$,zIndexMode:Q}),X?(M(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),(te==null?void 0:te.length)>0&&(H&&console.log("React Flow: trigger node changes",te),N==null||N(te)))},updateNodePositions:(E,N=!1)=>{const T=[];let k=[];const{nodeLookup:P,triggerNodeChanges:b,connection:$,updateConnection:H,onNodesChangeMiddlewareMap:X}=_();for(const[Q,te]of E){const Z=P.get(Q),ee=!!(Z!=null&&Z.expandParent&&(Z!=null&&Z.parentId)&&(te!=null&&te.position)),J={id:Q,type:"position",position:ee?{x:Math.max(0,te.position.x),y:Math.max(0,te.position.y)}:te.position,dragging:N};if(Z&&$.inProgress&&$.fromNode.id===Z.id){const C=wr(Z,$.fromHandle,_e.Left,!0);H({...$,from:C})}ee&&Z.parentId&&T.push({id:Q,parentId:Z.parentId,rect:{...te.internals.positionAbsolute,width:te.measured.width??0,height:te.measured.height??0}}),k.push(J)}if(T.length>0){const{parentLookup:Q,nodeOrigin:te}=_(),Z=dc(T,P,Q,te);k.push(...Z)}for(const Q of X.values())k=Q(k);b(k)},triggerNodeChanges:E=>{const{onNodesChange:N,setNodes:T,nodes:k,hasDefaultNodes:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=Z1(E,k);T($)}b&&console.log("React Flow: trigger node changes",E),N==null||N(E)}},triggerEdgeChanges:E=>{const{onEdgesChange:N,setEdges:T,edges:k,hasDefaultEdges:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=J1(E,k);T($)}b&&console.log("React Flow: trigger edge changes",E),N==null||N(E)}},addSelectedNodes:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));P($);return}P(qr(k,new Set([...E]),!0)),b(qr(T))},addSelectedEdges:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));b($);return}b(qr(T,new Set([...E]))),P(qr(k,new Set,!0))},unselectNodesAndEdges:({nodes:E,edges:N}={})=>{const{edges:T,nodes:k,nodeLookup:P,triggerNodeChanges:b,triggerEdgeChanges:$}=_(),H=E||k,X=N||T,Q=[];for(const Z of H){if(!Z.selected)continue;const ee=P.get(Z.id);ee&&(ee.selected=!1),Q.push(fr(Z.id,!1))}const te=[];for(const Z of X)Z.selected&&te.push(fr(Z.id,!1));b(Q),$(te)},setMinZoom:E=>{const{panZoom:N,maxZoom:T}=_();N==null||N.setScaleExtent([E,T]),S({minZoom:E})},setMaxZoom:E=>{const{panZoom:N,minZoom:T}=_();N==null||N.setScaleExtent([T,E]),S({maxZoom:E})},setTranslateExtent:E=>{var N;(N=_().panZoom)==null||N.setTranslateExtent(E),S({translateExtent:E})},resetSelectedElements:()=>{const{edges:E,nodes:N,triggerNodeChanges:T,triggerEdgeChanges:k,elementsSelectable:P}=_();if(!P)return;const b=N.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]),$=E.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]);T(b),k($)},setNodeExtent:E=>{const{nodes:N,nodeLookup:T,parentLookup:k,nodeOrigin:P,elevateNodesOnSelect:b,nodeExtent:$,zIndexMode:H}=_();E[0][0]===$[0][0]&&E[0][1]===$[0][1]&&E[1][0]===$[1][0]&&E[1][1]===$[1][1]||(Wu(N,T,k,{nodeOrigin:P,nodeExtent:E,elevateNodesOnSelect:b,checkEquality:!1,zIndexMode:H}),S({nodeExtent:E}))},panBy:E=>{const{transform:N,width:T,height:k,panZoom:P,translateExtent:b}=_();return qw({delta:E,panZoom:P,transform:N,translateExtent:b,width:T,height:k})},setCenter:async(E,N,T)=>{const{width:k,height:P,maxZoom:b,panZoom:$}=_();if(!$)return!1;const H=typeof(T==null?void 0:T.zoom)<"u"?T.zoom:b;return await $.setViewport({x:k/2-E*H,y:P/2-N*H,zoom:H},{duration:T==null?void 0:T.duration,ease:T==null?void 0:T.ease,interpolate:T==null?void 0:T.interpolate}),!0},cancelConnection:()=>{S({connection:{...$p}})},updateConnection:E=>{S({connection:E})},reset:()=>S({...Jh()})}},Object.is);function Vg({initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:l,initialWidth:a,initialHeight:c,initialMinZoom:d,initialMaxZoom:h,initialFitViewOptions:p,fitView:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m,children:S}){const[_]=Y.useState(()=>x_({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:y,minZoom:d,maxZoom:h,fitViewOptions:p,nodeOrigin:g,nodeExtent:x,zIndexMode:m}));return v.jsx(z1,{value:_,children:v.jsx(iS,{children:v.jsx(xS,{children:S})})})}function w_({children:t,nodes:r,edges:o,defaultNodes:l,defaultEdges:a,width:c,height:d,fitView:h,fitViewOptions:p,minZoom:y,maxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S}){return Y.useContext(xl)?v.jsx(v.Fragment,{children:t}):v.jsx(Vg,{initialNodes:r,initialEdges:o,defaultNodes:l,defaultEdges:a,initialWidth:c,initialHeight:d,fitView:h,initialFitViewOptions:p,initialMinZoom:y,initialMaxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S,children:t})}const S_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function __({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,className:a,nodeTypes:c,edgeTypes:d,onNodeClick:h,onEdgeClick:p,onInit:y,onMove:g,onMoveStart:x,onMoveEnd:m,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onSelectionChange:J,onSelectionDragStart:C,onSelectionDrag:B,onSelectionDragStop:F,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onBeforeDelete:O,connectionMode:j,connectionLineType:z=Wn.Bezier,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,deleteKeyCode:ce="Backspace",selectionKeyCode:de="Shift",selectionOnDrag:G=!1,selectionMode:se=lo.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:we=uo()?"Meta":"Control",zoomActivationKeyCode:ve=uo()?"Meta":"Control",snapToGrid:me,snapGrid:Ce,onlyRenderVisibleElements:je=!1,selectNodesOnDrag:Pe,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,nodeOrigin:Ke=pg,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t=!0,defaultViewport:q=W1,minZoom:Se=.5,maxZoom:Ie=2,translateExtent:Je=so,preventScrolling:wn=!0,nodeExtent:ln,defaultMarkerColor:Xn="#b1b1b7",zoomOnScroll:kl=!0,zoomOnPinch:wo=!0,panOnScroll:So=!1,panOnScrollSpeed:El=.5,panOnScrollMode:si=gr.Free,zoomOnDoubleClick:li=!0,panOnDrag:ai=!0,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo=1,nodeClickDistance:No=0,children:Co,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r=10,onNodesChange:hi,onEdgesChange:Cl,noDragClassName:jl="nodrag",noWheelClassName:Ml="nowheel",noPanClassName:Zt="nopan",fitView:pi,fitViewOptions:gi,connectOnClick:Pl,attributionPosition:Mo,proOptions:Po,defaultEdgeOptions:Io,elevateNodesOnSelect:To=!0,elevateEdgesOnSelect:Il=!1,disableKeyboardA11y:zo=!1,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanOnSelection:mi=!0,autoPanSpeed:Ro,connectionRadius:kr,isValidConnection:zl,onError:Lo,style:Er,id:kt,nodeDragThreshold:Rl,connectionDragThreshold:Et,viewport:Ll,onViewportChange:Al,width:$l,height:Nr,colorMode:Cr="light",debug:qn,onScroll:an,ariaLabelConfig:Dl,zIndexMode:Ao="basic",...yi},$o){const Zn=kt||"1",Jn=G1(Cr),Ol=Y.useCallback(jr=>{jr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),an==null||an(jr)},[an]);return v.jsx("div",{"data-testid":"rf__wrapper",...yi,onScroll:Ol,style:{...Er,...S_},ref:$o,className:Qe(["react-flow",a,Jn]),id:kt,role:"application",children:v.jsxs(w_,{nodes:t,edges:r,width:$l,height:Nr,fitView:pi,fitViewOptions:gi,minZoom:Se,maxZoom:Ie,nodeOrigin:Ke,nodeExtent:ln,zIndexMode:Ao,children:[v.jsx(Q1,{nodes:t,edges:r,defaultNodes:o,defaultEdges:l,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t,elevateNodesOnSelect:To,elevateEdgesOnSelect:Il,minZoom:Se,maxZoom:Ie,nodeExtent:ln,onNodesChange:hi,onEdgesChange:Cl,snapToGrid:me,snapGrid:Ce,connectionMode:j,translateExtent:Je,connectOnClick:Pl,defaultEdgeOptions:Io,fitView:pi,fitViewOptions:gi,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onSelectionDrag:B,onSelectionDragStart:C,onSelectionDragStop:F,onMove:g,onMoveStart:x,onMoveEnd:m,noPanClassName:Zt,nodeOrigin:Ke,rfId:Zn,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanSpeed:Ro,onError:Lo,connectionRadius:kr,isValidConnection:zl,selectNodesOnDrag:Pe,nodeDragThreshold:Rl,connectionDragThreshold:Et,onBeforeDelete:O,debug:qn,ariaLabelConfig:Dl,zIndexMode:Ao}),v.jsx(y_,{onInit:y,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,nodeTypes:c,edgeTypes:d,connectionLineType:z,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,selectionKeyCode:de,selectionOnDrag:G,selectionMode:se,deleteKeyCode:ce,multiSelectionKeyCode:we,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:je,defaultViewport:q,translateExtent:Je,minZoom:Se,maxZoom:Ie,preventScrolling:wn,zoomOnScroll:kl,zoomOnPinch:wo,zoomOnDoubleClick:li,panOnScroll:So,panOnScrollSpeed:El,panOnScrollMode:si,panOnDrag:ai,autoPanOnSelection:mi,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo,nodeClickDistance:No,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r,defaultMarkerColor:Xn,noDragClassName:jl,noWheelClassName:Ml,noPanClassName:Zt,rfId:Zn,disableKeyboardA11y:zo,nodeExtent:ln,viewport:Ll,onViewportChange:Al,nodesDraggable:Le}),v.jsx(U1,{onSelectionChange:J}),Co,v.jsx(b1,{proOptions:Po,position:Mo}),v.jsx(O1,{rfId:Zn,disableKeyboardA11y:zo})]})})}var k_=mg(__);function E_({dimensions:t,lineWidth:r,variant:o,className:l}){return v.jsx("path",{strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Qe(["react-flow__background-pattern",o,l])})}function N_({radius:t,className:r}){return v.jsx("circle",{cx:t,cy:t,r:t,className:Qe(["react-flow__background-pattern","dots",r])})}var Yn;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Yn||(Yn={}));const C_={[Yn.Dots]:1,[Yn.Lines]:1,[Yn.Cross]:6},j_=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Bg({id:t,variant:r=Yn.Dots,gap:o=20,size:l,lineWidth:a=1,offset:c=0,color:d,bgColor:h,style:p,className:y,patternClassName:g}){const x=Y.useRef(null),{transform:m,patternId:S}=ze(j_,Ue),_=l||C_[r],M=r===Yn.Dots,E=r===Yn.Cross,N=Array.isArray(o)?o:[o,o],T=[N[0]*m[2]||1,N[1]*m[2]||1],k=_*m[2],P=Array.isArray(c)?c:[c,c],b=E?[k,k]:T,$=[P[0]*m[2]+b[0]/2,P[1]*m[2]+b[1]/2],H=`${S}${t||""}`;return v.jsxs("svg",{className:Qe(["react-flow__background",y]),style:{...p,...Sl,"--xy-background-color-props":h,"--xy-background-pattern-color-props":d},ref:x,"data-testid":"rf__background",children:[v.jsx("pattern",{id:H,x:m[0]%T[0],y:m[1]%T[1],width:T[0],height:T[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${$[0]},-${$[1]})`,children:M?v.jsx(N_,{radius:k/2,className:g}):v.jsx(E_,{dimensions:b,lineWidth:a,variant:r,className:g})}),v.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}Bg.displayName="Background";const M_=Y.memo(Bg);function P_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:v.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function I_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:v.jsx("path",{d:"M0 0h32v4.2H0z"})})}function T_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:v.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function z_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function R_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ys({children:t,className:r,...o}){return v.jsx("button",{type:"button",className:Qe(["react-flow__controls-button",r]),...o,children:t})}const L_=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function Ug({style:t,showZoom:r=!0,showFitView:o=!0,showInteractive:l=!0,fitViewOptions:a,onZoomIn:c,onZoomOut:d,onFitView:h,onInteractiveChange:p,className:y,children:g,position:x="bottom-left",orientation:m="vertical","aria-label":S}){const _=be(),{isInteractive:M,minZoomReached:E,maxZoomReached:N,ariaLabelConfig:T}=ze(L_,Ue),{zoomIn:k,zoomOut:P,fitView:b}=fc(),$=()=>{k(),c==null||c()},H=()=>{P(),d==null||d()},X=()=>{b(a),h==null||h()},Q=()=>{_.setState({nodesDraggable:!M,nodesConnectable:!M,elementsSelectable:!M}),p==null||p(!M)},te=m==="horizontal"?"horizontal":"vertical";return v.jsxs(wl,{className:Qe(["react-flow__controls",te,y]),position:x,style:t,"data-testid":"rf__controls","aria-label":S??T["controls.ariaLabel"],children:[r&&v.jsxs(v.Fragment,{children:[v.jsx(Ys,{onClick:$,className:"react-flow__controls-zoomin",title:T["controls.zoomIn.ariaLabel"],"aria-label":T["controls.zoomIn.ariaLabel"],disabled:N,children:v.jsx(P_,{})}),v.jsx(Ys,{onClick:H,className:"react-flow__controls-zoomout",title:T["controls.zoomOut.ariaLabel"],"aria-label":T["controls.zoomOut.ariaLabel"],disabled:E,children:v.jsx(I_,{})})]}),o&&v.jsx(Ys,{className:"react-flow__controls-fitview",onClick:X,title:T["controls.fitView.ariaLabel"],"aria-label":T["controls.fitView.ariaLabel"],children:v.jsx(T_,{})}),l&&v.jsx(Ys,{className:"react-flow__controls-interactive",onClick:Q,title:T["controls.interactive.ariaLabel"],"aria-label":T["controls.interactive.ariaLabel"],children:M?v.jsx(R_,{}):v.jsx(z_,{})}),g]})}Ug.displayName="Controls";const A_=Y.memo(Ug);function $_({id:t,x:r,y:o,width:l,height:a,style:c,color:d,strokeColor:h,strokeWidth:p,className:y,borderRadius:g,shapeRendering:x,selected:m,onClick:S}){const{background:_,backgroundColor:M}=c||{},E=d||_||M;return v.jsx("rect",{className:Qe(["react-flow__minimap-node",{selected:m},y]),x:r,y:o,rx:g,ry:g,width:l,height:a,style:{fill:E,stroke:h,strokeWidth:p},shapeRendering:x,onClick:S?N=>S(N,t):void 0})}const D_=Y.memo($_),O_=t=>t.nodes.map(r=>r.id),zu=t=>t instanceof Function?t:()=>t;function b_({nodeStrokeColor:t,nodeColor:r,nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:a,nodeComponent:c=D_,onClick:d}){const h=ze(O_,Ue),p=zu(r),y=zu(t),g=zu(o),x=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return v.jsx(v.Fragment,{children:h.map(m=>v.jsx(H_,{id:m,nodeColorFunc:p,nodeStrokeColorFunc:y,nodeClassNameFunc:g,nodeBorderRadius:l,nodeStrokeWidth:a,NodeComponent:c,onClick:d,shapeRendering:x},m))})}function F_({id:t,nodeColorFunc:r,nodeStrokeColorFunc:o,nodeClassNameFunc:l,nodeBorderRadius:a,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:h,onClick:p}){const{node:y,x:g,y:x,width:m,height:S}=ze(_=>{const M=_.nodeLookup.get(t);if(!M)return{node:void 0,x:0,y:0,width:0,height:0};const E=M.internals.userNode,{x:N,y:T}=M.internals.positionAbsolute,{width:k,height:P}=qt(E);return{node:E,x:N,y:T,width:k,height:P}},Ue);return!y||y.hidden||!Up(y)?null:v.jsx(h,{x:g,y:x,width:m,height:S,style:y.style,selected:!!y.selected,className:l(y),color:r(y),borderRadius:a,strokeColor:o(y),strokeWidth:c,shapeRendering:d,onClick:p,id:y.id})}const H_=Y.memo(F_);var V_=Y.memo(b_);const B_=200,U_=150,W_=t=>!t.hidden,Y_=t=>{const r={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:r,boundingRect:t.nodeLookup.size>0?Hp(yo(t.nodeLookup,{filter:W_}),r):r,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},ep=(t,r)=>t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height,X_=(t,r)=>ep(t.viewBB,r.viewBB)&&ep(t.boundingRect,r.boundingRect)&&t.rfId===r.rfId&&t.panZoom===r.panZoom&&t.translateExtent===r.translateExtent&&t.flowWidth===r.flowWidth&&t.flowHeight===r.flowHeight&&t.ariaLabelConfig===r.ariaLabelConfig,Q_="react-flow__minimap-desc";function Wg({style:t,className:r,nodeStrokeColor:o,nodeColor:l,nodeClassName:a="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:h,bgColor:p,maskColor:y,maskStrokeColor:g,maskStrokeWidth:x,position:m="bottom-right",onClick:S,onNodeClick:_,pannable:M=!1,zoomable:E=!1,ariaLabel:N,inversePan:T,zoomStep:k=1,offsetScale:P=5}){const b=be(),$=Y.useRef(null),{boundingRect:H,viewBB:X,rfId:Q,panZoom:te,translateExtent:Z,flowWidth:ee,flowHeight:J,ariaLabelConfig:C}=ze(Y_,X_),B=(t==null?void 0:t.width)??B_,F=(t==null?void 0:t.height)??U_,V=H.width/B,A=H.height/F,L=Math.max(V,A),O=L*B,j=L*F,z=P*L,ne=H.x-(O-H.width)/2-z,re=H.y-(j-H.height)/2-z,ue=O+z*2,ce=j+z*2,de=`${Q_}-${Q}`,G=Y.useRef(0),se=Y.useRef();G.current=L,Y.useEffect(()=>{if($.current&&te)return se.current=s1({domNode:$.current,panZoom:te,getTransform:()=>b.getState().transform,getViewScale:()=>G.current}),()=>{var me;(me=se.current)==null||me.destroy()}},[te]),Y.useEffect(()=>{var me;(me=se.current)==null||me.update({translateExtent:Z,width:ee,height:J,inversePan:T,pannable:M,zoomStep:k,zoomable:E})},[M,E,T,k,Z,ee,J]);const pe=S?me=>{var Pe;const[Ce,je]=((Pe=se.current)==null?void 0:Pe.pointer(me))||[0,0];S(me,{x:Ce,y:je})}:void 0,we=_?Y.useCallback((me,Ce)=>{const je=b.getState().nodeLookup.get(Ce).internals.userNode;_(me,je)},[]):void 0,ve=N??C["minimap.ariaLabel"];return v.jsx(wl,{position:m,style:{...t,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof x=="number"?x*L:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:Qe(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:v.jsxs("svg",{width:B,height:F,viewBox:`${ne} ${re} ${ue} ${ce}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":de,ref:$,onClick:pe,children:[ve&&v.jsx("title",{id:de,children:ve}),v.jsx(V_,{onClick:we,nodeColor:l,nodeStrokeColor:o,nodeBorderRadius:c,nodeClassName:a,nodeStrokeWidth:d,nodeComponent:h}),v.jsx("path",{className:"react-flow__minimap-mask",d:`M${ne-z},${re-z}h${ue+z*2}v${ce+z*2}h${-ue-z*2}z - M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wg.displayName="MiniMap";const G_=Y.memo(Wg),K_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,q_={[oi.Line]:"right",[oi.Handle]:"bottom-right"};function Z_({nodeId:t,position:r,variant:o=oi.Handle,className:l,style:a=void 0,children:c,color:d,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:x=!1,resizeDirection:m,autoScale:S=!0,shouldResize:_,onResizeStart:M,onResize:E,onResizeEnd:N}){const T=Sg(),k=typeof t=="string"?t:T,P=be(),b=Y.useRef(null),$=o===oi.Handle,H=ze(Y.useCallback(K_($&&S),[$,S]),Ue),X=Y.useRef(null),Q=r??q_[o];Y.useEffect(()=>{if(!(!b.current||!k))return X.current||(X.current=x1({domNode:b.current,nodeId:k,getStoreItems:()=>{const{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,domNode:F}=P.getState();return{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,paneDomNode:F}},onChange:(Z,ee)=>{const{triggerNodeChanges:J,nodeLookup:C,parentLookup:B,nodeOrigin:F}=P.getState(),V=[],A={x:Z.x,y:Z.y},L=C.get(k);if(L&&L.expandParent&&L.parentId){const O=L.origin??F,j=Z.width??L.measured.width??0,z=Z.height??L.measured.height??0,ne={id:L.id,parentId:L.parentId,rect:{width:j,height:z,...Wp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:j,height:z},L.parentId,C,O)}},re=dc([ne],C,B,F);V.push(...re),A.x=Z.x?Math.max(O[0]*j,Z.x):void 0,A.y=Z.y?Math.max(O[1]*z,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:k,type:"position",position:{...A}};V.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const j={id:k,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};V.push(j)}for(const O of ee){const j={...O,type:"position"};V.push(j)}J(V)},onEnd:({width:Z,height:ee})=>{const J={id:k,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ee}};P.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:g},keepAspectRatio:x,resizeDirection:m,onResizeStart:M,onResize:E,onResizeEnd:N,shouldResize:_}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[Q,h,p,y,g,x,M,E,N,_]);const te=Q.split("-");return v.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...te,o,l]),ref:b,style:{...a,scale:H,...d&&{[$?"backgroundColor":"borderColor"]:d}},children:c})}Y.memo(Z_);const J_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function ek(t){return J_[t]??8}function tk(t){const r=new Map;for(const l of t){const a=ek(l.type),c=r.get(a)??[];c.push(l),r.set(a,c)}const o=new Map;for(const[l,a]of r)a.sort((c,d)=>c.name.localeCompare(d.name)),a.forEach((c,d)=>{o.set(c.id,{x:l*260,y:d*108})});return o}const nk={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function rk({data:t,selected:r}){return v.jsxs("div",{className:r?"lp-node selected":"lp-node",children:[v.jsx("div",{className:"t",children:Qu(t.type)}),v.jsx("div",{className:"n",children:t.name})]})}const ik={load:rk};function Ru({nodes:t,edges:r}){const[o,l]=Y.useState(null),a=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=tk(t),d=t.map(g=>({id:g.id,type:"load",position:c.get(g.id)??{x:0,y:0},data:{name:g.name,type:g.type,file:g.file_path},selected:(o==null?void 0:o.id)===g.id})),h=r.filter(g=>t.some(x=>x.id===g.src)&&t.some(x=>x.id===g.dst)).map(g=>({id:g.id,source:g.src,target:g.dst,animated:!a&&g.weight==="critical",style:{stroke:nk[g.weight]||"var(--edge-cheap)",strokeWidth:g.weight==="critical"?2.4:1.2,strokeDasharray:g.confidence<.8?"6 4":void 0},label:g.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:10}})),p=Y.useMemo(()=>new Map(t.map(g=>[g.id,g])),[t]),y=(g,x)=>{l(p.get(x.id)??null)};return v.jsxs("div",{style:{flex:1,minHeight:0,position:"relative"},children:[v.jsx(Vg,{children:v.jsxs(k_,{nodes:d,edges:h,nodeTypes:ik,fitView:!0,minZoom:.15,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,deleteKeyCode:null,onNodeClick:y,onPaneClick:()=>l(null),proOptions:{hideAttribution:!1},"data-testid":"impact-graph",children:[v.jsx(M_,{}),v.jsx(G_,{pannable:!0,zoomable:!0}),v.jsx(A_,{})]})}),o?v.jsxs("aside",{className:"inspector","data-testid":"graph-inspector",children:[v.jsx("div",{className:"t",children:Qu(o.type)}),v.jsx("div",{className:"n",children:o.name}),o.context?v.jsx("div",{className:"muted",children:o.context}):null,o.file_path?v.jsxs("div",{className:"file",children:[o.file_path,o.start_line?`:${o.start_line}`:""]}):null,v.jsx("div",{className:"muted",children:o.qualified_name})]}):null]})}const cl=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],ok="obsidian",Yg="loadpath.theme";function sk(t){return cl.some(r=>r.id===t)}function Xg(){try{const t=localStorage.getItem(Yg)||"";if(sk(t))return t}catch{}return ok}function lk(t){var r;return((r=cl.find(o=>o.id===t))==null?void 0:r.group)==="light"?"light":"dark"}function Qg(t){document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=lk(t);try{localStorage.setItem(Yg,t)}catch{}}const tp=[{id:"review",label:"Review",testId:"tab-review",shortcut:"1",icon:b0},{id:"architecture",label:"Architecture",testId:"tab-architecture",shortcut:"2",icon:F0},{id:"graph",label:"Impact graph",testId:"tab-graph",shortcut:"3",icon:H0},{id:"prs",label:"Pull requests",testId:"tab-prs",shortcut:"4",icon:V0},{id:"settings",label:"Settings",testId:"tab-settings",shortcut:"5",icon:B0}];function ak(){var Ge,Ke,zt,St,_t;const[t,r]=Y.useState("review"),[o,l]=Y.useState(localStorage.getItem("loadpath.repo")||""),[a,c]=Y.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[d,h]=Y.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=Y.useState(null),[g,x]=Y.useState(null),[m,S]=Y.useState([]),[_,M]=Y.useState("review"),[E,N]=Y.useState(""),[T,k]=Y.useState(""),[P,b]=Y.useState(""),[$,H]=Y.useState({}),[X,Q]=Y.useState([]),[te,Z]=Y.useState(localStorage.getItem("loadpath.scmRepo")||""),[ee,J]=Y.useState(localStorage.getItem("loadpath.provider")||"github"),[C,B]=Y.useState(localStorage.getItem("loadpath.prNumber")||""),[F,V]=Y.useState(""),[A,L]=Y.useState(Xg),O=Y.useRef(o);O.current=o;const j=q=>{L(q),Qg(q)};Y.useEffect(()=>{xt.settings().then(H).catch(()=>{}),xt.repos().then(q=>S(q.repos)).catch(()=>{})},[]),Y.useEffect(()=>{if(t!=="architecture"||!o)return;const q=o;let Se=!1;return xt.architecture(q).then(Ie=>{!Se&&O.current===q&&x(Ie)}).catch(()=>{}),()=>{Se=!0}},[t,o]);const z=q=>{l(q),localStorage.setItem("loadpath.repo",q)},ne=(q,Se)=>{c(q),h(Se),localStorage.setItem("loadpath.base",q),localStorage.setItem("loadpath.head",Se)},re=(q,Se,Ie)=>{J(q),Z(Se),localStorage.setItem("loadpath.provider",q),localStorage.setItem("loadpath.scmRepo",Se),Ie!==void 0&&(B(Ie),localStorage.setItem("loadpath.prNumber",Ie))},ue=async(q=o)=>{if(!q)return null;const Se=await xt.architecture(q);return O.current===q&&x(Se),Se},ce=async()=>{N(""),b(""),k("Tracing load path…"),z(o),ne(a,d);try{const q=await xt.review(o,a,d,!0);y(q),M("review"),r("review"),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{}),await ue(o)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},de=async(q=!0)=>{N(""),b(""),k(q?"Indexing…":"Full reindex…"),z(o);try{await xt.index(o,q);const Se=await ue(o);await xt.repos().then(Ie=>S(Ie.repos)).catch(()=>{}),Se!=null&&Se.indexed&&(M("architecture"),r("architecture"))}catch(Se){N(Se instanceof Error?Se.message:String(Se))}finally{k("")}},G=async()=>{N(""),b(""),k("Detecting layout…"),z(o);try{const q=await xt.init(o);b(q.message),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{})}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),b("Copied markdown brief")}catch(q){N(q instanceof Error?q.message:String(q))}},pe=async()=>{if(!(p!=null&&p.markdown)||!te||!C){N("Pick a pull request first (Pull requests tab), then post the brief.");return}k("Posting Loadpath brief…");try{const q=await xt.postComment(ee,te,Number(C),p.markdown);b(q.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},we=async()=>{N(""),k("Fetching pull requests…");try{const q=await xt.prs(ee,te);Q(q.pull_requests)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},ve=async q=>{q.preventDefault();const Se=new FormData(q.currentTarget),Ie={github_token:String(Se.get("github_token")||""),bitbucket_token:String(Se.get("bitbucket_token")||""),bitbucket_username:String(Se.get("bitbucket_username")||""),ai_provider:String(Se.get("ai_provider")||"none"),ai_api_key:String(Se.get("ai_api_key")||""),ai_model:String(Se.get("ai_model")||""),ai_base_url:String(Se.get("ai_base_url")||""),workspaces:m.length?m.map(Je=>({path:Je.path,name:Je.name})):o?[{path:o,name:O0(o)}]:[]};H(await xt.saveSettings(Ie)),b("Settings saved on this machine")},me=async()=>{if(p){k("Residual analysis…");try{const q=await xt.residual(p);V(q.note)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}}},Ce=Y.useRef(ce);Ce.current=ce;const je=Y.useRef(t);je.current=t,Y.useEffect(()=>{const q=Se=>{const Ie=Se.target;if(Ie&&(Ie.tagName==="INPUT"||Ie.tagName==="TEXTAREA"||Ie.tagName==="SELECT"||Ie.isContentEditable)){Se.key==="Escape"&&Ie.blur();return}if(Se.key==="Escape"){N(""),b("");return}const Je=tp.find(wn=>wn.shortcut===Se.key);if(Je&&r(Je.id),(Se.metaKey||Se.ctrlKey)&&Se.key==="Enter"){if(je.current==="settings"||je.current==="prs")return;Se.preventDefault(),Ce.current()}};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[]);const Pe=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.nodes)??[]:(p==null?void 0:p.nodes)??[],[_,g,p]),Le=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.edges)??[]:(p==null?void 0:p.edges)??[],[_,g,p]),rt=p!=null&&p.index?`${p.index.counts.nodes} nodes · ${p.index.counts.edges} edges`:g!=null&&g.indexed?`${g.counts.nodes} nodes · ${g.counts.edges} edges`:"Not indexed",st=((p==null?void 0:p.findings)||[]).filter(q=>!q.waived);return v.jsxs("div",{className:"app",children:[v.jsx("a",{className:"skip",href:"#main",children:"Skip to content"}),v.jsxs("nav",{className:"rail","data-testid":"rail","aria-label":"Primary",children:[v.jsxs("div",{className:"brand",children:[v.jsx("div",{className:"brand-mark",children:"Loadpath"}),v.jsx("div",{className:"brand-sub",children:"Load-path review"})]}),tp.map(q=>{const Se=q.icon,Ie=t===q.id;return v.jsxs("button",{type:"button","data-testid":q.testId,className:Ie?"nav-item active":"nav-item","aria-current":Ie?"page":void 0,onClick:()=>r(q.id),children:[v.jsx(Se,{}),v.jsx("span",{children:q.label})]},q.id)}),v.jsxs("div",{className:"theme-pick",children:[v.jsx("label",{htmlFor:"theme-select",children:"Theme"}),v.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:q=>j(q.target.value),children:cl.map(q=>v.jsx("option",{value:q.id,children:q.label},q.id))})]}),v.jsxs("div",{className:"rail-foot",children:[v.jsx("div",{className:"muted",role:"status",children:T||rt}),v.jsxs("div",{className:"kbd-hint",children:[v.jsx("kbd",{children:"1"}),"–",v.jsx("kbd",{children:"5"})," tabs · ",v.jsx("kbd",{children:"⌘"}),v.jsx("kbd",{children:"Enter"})," review"]})]})]}),v.jsxs("div",{className:"main",id:"main",children:[T?v.jsxs("div",{className:"progress",role:"status","aria-live":"polite","aria-busy":"true",children:[v.jsx("i",{}),v.jsx("span",{className:"sr-only",children:T})]}):null,v.jsxs("header",{className:"topbar","data-testid":"topbar",children:[m.length>0?v.jsxs("label",{className:"field workspace",children:[v.jsx("span",{children:"Workspace"}),v.jsxs("select",{"data-testid":"workspace-select",value:m.some(q=>q.path===o)?o:"",onChange:q=>{q.target.value&&z(q.target.value)},children:[v.jsx("option",{value:"",children:"Indexed repos…"}),m.map(q=>v.jsxs("option",{value:q.path,children:[q.name,q.indexed?` (${q.counts.nodes})`:""]},q.path))]})]}):null,v.jsxs("label",{className:"field path",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"repo-path",placeholder:"Local monorepo path",value:o,onChange:q=>l(q.target.value),spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Base"}),v.jsx("input",{"data-testid":"base-ref",value:a,onChange:q=>ne(q.target.value,d),placeholder:"base",spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Head"}),v.jsx("input",{"data-testid":"head-ref",value:d,onChange:q=>ne(a,q.target.value),placeholder:"head",spellCheck:!1})]}),v.jsxs("div",{className:"topbar-actions",children:[v.jsx("button",{type:"button","data-testid":"btn-init",disabled:!!T,onClick:G,children:"Draft config"}),v.jsx("button",{type:"button","data-testid":"btn-index",disabled:!!T,onClick:()=>de(!0),children:"Index"}),v.jsx("button",{type:"button","data-testid":"btn-review",className:"btn primary",disabled:!!T,onClick:ce,children:"Review"})]})]}),v.jsxs("div",{className:"alerts",children:[E?v.jsxs("div",{className:"error",children:[v.jsx("span",{children:E}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>N(""),"aria-label":"Dismiss error",children:"×"})]}):null,P?v.jsxs("div",{className:"banner","data-testid":"status-note",children:[v.jsx("span",{children:P}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>b(""),"aria-label":"Dismiss",children:"×"})]}):null,((Ge=p==null?void 0:p.index)!=null&&Ge.stale||g!=null&&g.stale)&&(t==="review"||t==="architecture")?v.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((Ke=p==null?void 0:p.index)==null?void 0:Ke.django_boot)==="failed"||(g==null?void 0:g.django_boot)==="failed"?v.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((zt=p==null?void 0:p.index)==null?void 0:zt.django_boot_detail)||(g==null?void 0:g.django_boot_detail)||"django.setup() failed"}):null,(St=p==null?void 0:p.workspace)!=null&&St.dirty_overlaps_review&&t==="review"?v.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null]}),v.jsxs("div",{className:"stage",children:[t==="review"&&v.jsxs("div",{className:"content","data-testid":"review-layout",children:[v.jsx("aside",{className:"brief","data-testid":"brief",children:p?v.jsx(uk,{review:p,findings:st,aiNote:F,busy:!!T,onAskAi:me,onCopy:se,onPost:pe}):v.jsxs("div",{className:"empty","data-testid":"review-empty",children:[v.jsx("h2",{children:"Trace the force of this diff"}),v.jsx("p",{children:"The graph is the architecture. The brief is where this change travels — not a hunk list."}),v.jsxs("ol",{children:[v.jsx("li",{children:"Point at a Django + React monorepo, or pick an indexed workspace."}),v.jsxs("li",{children:["Index it. Missing ",v.jsx("code",{children:"loadpath.yml"})," is drafted from ",v.jsx("code",{children:"manage.py"})," and"," ",v.jsx("code",{children:"src/features"}),"."]}),v.jsx("li",{children:"Review a git range, or open a pull request so base/head become a three-dot merge-base."})]})]})}),v.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?v.jsx(Ru,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&v.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[v.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:g!=null&&g.indexed?v.jsx(ck,{architecture:g,busy:!!T,onReindex:()=>de(!1),onReview:ce}):v.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),v.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:g!=null&&g.indexed?v.jsx(Ru,{nodes:g.nodes,edges:g.edges}):null})]}),t==="graph"&&v.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%"},children:[v.jsxs("div",{className:"graph-modes",children:[v.jsxs("div",{className:"seg",role:"tablist","aria-label":"Graph scope",children:[v.jsx("button",{type:"button",role:"tab","aria-selected":_==="review","data-testid":"graph-mode-review",className:_==="review"?"active":"",onClick:()=>M("review"),children:"This review"}),v.jsx("button",{type:"button",role:"tab","aria-selected":_==="architecture","data-testid":"graph-mode-architecture",className:_==="architecture"?"active":"",onClick:()=>M("architecture"),children:"Indexed architecture"})]}),v.jsxs("div",{className:"legend","aria-hidden":"true",children:[v.jsxs("span",{children:[v.jsx("i",{})," cheap"]}),v.jsxs("span",{children:[v.jsx("i",{className:"exp"})," expensive"]}),v.jsxs("span",{children:[v.jsx("i",{className:"crit"})," critical"]}),v.jsxs("span",{children:[v.jsx("i",{className:"dash"})," inferred"]})]})]}),Pe.length?v.jsx(Ru,{nodes:Pe,edges:Le}):v.jsx("p",{className:"empty",children:"Index the repo or run a review first. Click a node to inspect it."})]}),t==="prs"&&v.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[v.jsxs("div",{className:"pr-toolbar",children:[v.jsxs("label",{className:"field provider",children:[v.jsx("span",{children:"Provider"}),v.jsxs("select",{"data-testid":"pr-provider",value:ee,onChange:q=>re(q.target.value,te,C),children:[v.jsx("option",{value:"github",children:"GitHub"}),v.jsx("option",{value:"bitbucket",children:"Bitbucket"})]})]}),v.jsxs("label",{className:"field",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"pr-repo",placeholder:"owner/repo",value:te,onChange:q=>re(ee,q.target.value,C),spellCheck:!1})]}),v.jsx("button",{type:"button","data-testid":"btn-list-prs",className:"btn",disabled:!!T,onClick:we,children:"List PRs"})]}),X.length===0?v.jsxs("div",{className:"empty",children:[v.jsx("h2",{children:"No pull requests loaded"}),v.jsx("p",{children:"Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs."})]}):X.map(q=>v.jsxs("article",{className:"pr","data-testid":`pr-${q.number}`,children:[v.jsxs("h3",{children:["#",q.number," ",q.title]}),v.jsxs("div",{className:"pr-meta muted",children:[v.jsx("span",{className:`chip ${q.draft?"":"open"}`,children:q.draft?"draft":q.state}),v.jsx("span",{children:q.author}),v.jsxs("span",{children:[q.source_branch," → ",q.target_branch]})]}),v.jsxs("div",{className:"pr-actions",children:[v.jsxs("a",{href:q.url,target:"_blank",rel:"noreferrer",children:["Open on ",q.provider]}),v.jsx("button",{type:"button",className:"btn primary",onClick:()=>{ne(q.base_sha||q.target_branch,q.head_sha||q.source_branch),re(q.provider,q.repo,String(q.number)),r("review")},children:"Review this range"})]})]},`${q.provider}-${q.number}`))]}),t==="settings"&&v.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:ve,children:[v.jsxs("div",{children:[v.jsx("h1",{children:"Settings"}),v.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the graph could not close."})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Appearance"}),v.jsx("p",{className:"muted",children:"Local to this browser. High contrast is a first-class theme, not an afterthought."}),v.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:cl.map(q=>v.jsxs("button",{type:"button",className:A===q.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${q.id}`,onClick:()=>j(q.id),children:[v.jsx("div",{className:"name",children:q.label}),v.jsx("div",{className:"group",children:q.group})]},q.id))})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Source control"}),v.jsx("label",{htmlFor:"github_token",children:"GitHub token"}),v.jsx("input",{id:"github_token",name:"github_token",type:"password",placeholder:"ghp_…",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_token",children:"Bitbucket token"}),v.jsx("input",{id:"bitbucket_token",name:"bitbucket_token",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_username",children:"Bitbucket username (app passwords)"}),v.jsx("input",{id:"bitbucket_username",name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Residual AI"}),v.jsx("label",{htmlFor:"ai_provider",children:"Provider"}),v.jsxs("select",{id:"ai_provider",name:"ai_provider",defaultValue:String(((_t=$.ai)==null?void 0:_t.provider)||"none"),children:[v.jsx("option",{value:"none",children:"none (graph only)"}),v.jsx("option",{value:"anthropic",children:"Anthropic"}),v.jsx("option",{value:"openai",children:"OpenAI"}),v.jsx("option",{value:"grok",children:"Grok / xAI"}),v.jsx("option",{value:"deepseek",children:"DeepSeek"}),v.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),v.jsx("option",{value:"ollama",children:"Ollama local"})]}),v.jsx("label",{htmlFor:"ai_api_key",children:"API key"}),v.jsx("input",{id:"ai_api_key",name:"ai_api_key",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"ai_model",children:"Model"}),v.jsx("input",{id:"ai_model",name:"ai_model",placeholder:"optional override"}),v.jsx("label",{htmlFor:"ai_base_url",children:"Base URL"}),v.jsx("input",{id:"ai_base_url",name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),v.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})]})]})}function uk({review:t,findings:r,aiNote:o,busy:l,onAskAi:a,onCopy:c,onPost:d}){var h,p,y,g,x,m,S,_,M;return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:`merge-box ${t.confidence.level}`,children:[v.jsxs("div",{className:`level ${t.confidence.level}`,children:[t.confidence.level.toUpperCase()," — ",t.title]}),v.jsx("div",{className:"merge-title",children:t.headline.split(` -`)[0]}),(h=t.confidence.reasons)!=null&&h.length?v.jsx("ul",{className:"reasons",children:t.confidence.reasons.map(E=>v.jsx("li",{children:E},E))}):null,t.low_risk?v.jsx("span",{className:"chip",children:"low-risk"}):null,t.change_kinds.map(E=>v.jsx("span",{className:"chip",children:$0(E)},E))]}),v.jsxs("div",{className:"metrics",children:[v.jsxs("div",{className:"metric",children:[v.jsxs("div",{className:"n",children:[t.confidence.covered_sinks,"/",t.confidence.sinks]}),v.jsx("div",{className:"l",children:"Sinks tested"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:r.length}),v.jsx("div",{className:"l",children:"Findings"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:t.residuals.length}),v.jsx("div",{className:"l",children:"Residuals"})]})]}),v.jsx("pre",{className:"headline",children:t.headline}),t.index?v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Index ",v.jsx("span",{className:"count",children:t.index.counts.nodes})]}),v.jsxs("div",{className:"muted",children:["Walked ",t.index.counts.nodes," nodes / ",t.index.counts.edges," edges",t.index.reindex_skipped?" from an unchanged index":t.index.reindexed?" after an incremental refresh":" from the existing index",t.index.django_boot&&t.index.django_boot!=="off"?` · Django boot ${t.index.django_boot}`:"",(p=t.workspace)!=null&&p.three_dot?" · three-dot range":""]})]}):null,v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Read this ",v.jsx("span",{className:"count",children:t.read_order.length})]}),t.read_order.map((E,N)=>v.jsxs("div",{className:"read-item",children:[v.jsxs("span",{className:"file",children:[N+1,". ",E.path]}),v.jsx("div",{className:"why",children:E.why})]},E.path))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Clusters ",v.jsx("span",{className:"count",children:t.clusters.length})]}),t.clusters.map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:E.title})," — ",E.files.join(", ")]},E.id))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Architecture ",v.jsx("span",{className:"count",children:r.length})]}),r.length===0?v.jsx("div",{className:"muted",children:t.architecture_note}):r.map(E=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${E.severity}`,children:E.severity}),E.message]},E.rule+E.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Residual ",v.jsx("span",{className:"count",children:t.residuals.length})]}),v.jsx("p",{className:"muted",children:"AI is only used here, on what the graph could not close."}),t.residuals.map(E=>v.jsx("div",{className:"residual muted",children:E},E))]}),(g=(y=t.evolution)==null?void 0:y.notes)!=null&&g.length||(m=(x=t.evolution)==null?void 0:x.hotspots)!=null&&m.some(E=>E.commits)?v.jsxs("details",{className:"section",children:[v.jsx("summary",{children:"Churn & coupling"}),(((S=t.evolution)==null?void 0:S.notes)||[]).map(E=>v.jsx("div",{className:"muted",children:E},E)),(((_=t.evolution)==null?void 0:_.hotspots)||[]).filter(E=>E.commits).slice(0,6).map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("span",{className:"file",children:E.path})," — ",E.commits," commits, bus factor ",E.bus_factor]},E.path))]}):null,v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:l,onClick:a,children:"Ask configured model"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-copy-markdown",onClick:c,children:"Copy markdown"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-post-comment",onClick:d,children:"Post to PR"})]}),o?v.jsx("pre",{className:"headline",children:o}):null,v.jsx("div",{className:"kicker",children:"Reviewers"}),v.jsx("div",{className:"muted",children:t.suggested_reviewers.join(", ")||"—"}),(M=t.knowledge_owners)!=null&&M.length?v.jsxs("div",{className:"muted",children:["Knowledge: ",t.knowledge_owners.join(", ")]}):null]})}function ck({architecture:t,busy:r,onReindex:o,onReview:l}){const a=t.findings.filter(c=>!c.waived);return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"merge-box high",children:[v.jsxs("div",{className:"level high",children:["INDEXED — ",t.counts.nodes," nodes"]}),v.jsxs("div",{className:"muted",style:{marginTop:8},children:[t.indexed_at?`Last index ${D0(t.indexed_at)}`:"Indexed",t.incremental?" · incremental":" · full",t.stale?" · stale":"",t.django_boot&&t.django_boot!=="off"?` · Django boot ${t.django_boot}`:""]}),v.jsxs("span",{className:"chip",children:[t.counts.edges," edges"]}),t.has_config?v.jsx("span",{className:"chip",children:"loadpath.yml"}):null]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Bounded contexts"}),Object.values(t.contexts).map(c=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:c.name})," — ",(c.django_apps||[]).join(", ")||"no apps"," ·"," ",(c.owners||[]).join(", ")||"unowned"]},c.name))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Rules ",v.jsx("span",{className:"count",children:(t.rules||[]).length})]}),(t.rules||[]).map(c=>v.jsx("div",{className:"muted",children:c},c))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Findings ",v.jsx("span",{className:"count",children:a.length})]}),a.length===0?v.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):a.map(c=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${c.severity}`,children:c.severity}),c.message]},c.rule+c.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Types"}),v.jsx("table",{className:"type-table",children:v.jsx("tbody",{children:Object.entries(t.type_counts||{}).sort((c,d)=>d[1]-c[1]).slice(0,12).map(([c,d])=>v.jsxs("tr",{children:[v.jsx("td",{children:Qu(c)}),v.jsx("td",{children:d})]},c))})})]}),v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:r,onClick:o,"data-testid":"btn-full-reindex",children:"Full reindex"}),v.jsx("button",{type:"button",className:"btn primary",disabled:r,onClick:l,children:"Review against this index"})]})]})}Qg(Xg());A0.createRoot(document.getElementById("root")).render(v.jsx(Y.StrictMode,{children:v.jsx(ak,{})})); + M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wg.displayName="MiniMap";const G_=Y.memo(Wg),K_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,q_={[oi.Line]:"right",[oi.Handle]:"bottom-right"};function Z_({nodeId:t,position:r,variant:o=oi.Handle,className:l,style:a=void 0,children:c,color:d,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:x=!1,resizeDirection:m,autoScale:S=!0,shouldResize:_,onResizeStart:M,onResize:E,onResizeEnd:N}){const T=Sg(),k=typeof t=="string"?t:T,P=be(),b=Y.useRef(null),$=o===oi.Handle,H=ze(Y.useCallback(K_($&&S),[$,S]),Ue),X=Y.useRef(null),Q=r??q_[o];Y.useEffect(()=>{if(!(!b.current||!k))return X.current||(X.current=x1({domNode:b.current,nodeId:k,getStoreItems:()=>{const{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,domNode:F}=P.getState();return{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,paneDomNode:F}},onChange:(Z,ee)=>{const{triggerNodeChanges:J,nodeLookup:C,parentLookup:B,nodeOrigin:F}=P.getState(),V=[],A={x:Z.x,y:Z.y},L=C.get(k);if(L&&L.expandParent&&L.parentId){const O=L.origin??F,j=Z.width??L.measured.width??0,z=Z.height??L.measured.height??0,ne={id:L.id,parentId:L.parentId,rect:{width:j,height:z,...Wp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:j,height:z},L.parentId,C,O)}},re=dc([ne],C,B,F);V.push(...re),A.x=Z.x?Math.max(O[0]*j,Z.x):void 0,A.y=Z.y?Math.max(O[1]*z,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:k,type:"position",position:{...A}};V.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const j={id:k,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};V.push(j)}for(const O of ee){const j={...O,type:"position"};V.push(j)}J(V)},onEnd:({width:Z,height:ee})=>{const J={id:k,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ee}};P.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:g},keepAspectRatio:x,resizeDirection:m,onResizeStart:M,onResize:E,onResizeEnd:N,shouldResize:_}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[Q,h,p,y,g,x,M,E,N,_]);const te=Q.split("-");return v.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...te,o,l]),ref:b,style:{...a,scale:H,...d&&{[$?"backgroundColor":"borderColor"]:d}},children:c})}Y.memo(Z_);const J_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function ek(t){return J_[t]??8}function tk(t){const r=new Map;for(const l of t){const a=ek(l.type),c=r.get(a)??[];c.push(l),r.set(a,c)}const o=new Map;for(const[l,a]of r)a.sort((c,d)=>c.name.localeCompare(d.name)),a.forEach((c,d)=>{o.set(c.id,{x:l*260,y:d*108})});return o}const nk={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function rk({data:t,selected:r}){return v.jsxs("div",{className:r?"lp-node selected":"lp-node",children:[v.jsx("div",{className:"t",children:Qu(t.type)}),v.jsx("div",{className:"n",children:t.name})]})}const ik={load:rk};function Ru({nodes:t,edges:r}){const[o,l]=Y.useState(null),a=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=tk(t),d=t.map(g=>({id:g.id,type:"load",position:c.get(g.id)??{x:0,y:0},data:{name:g.name,type:g.type,file:g.file_path},selected:(o==null?void 0:o.id)===g.id})),h=r.filter(g=>t.some(x=>x.id===g.src)&&t.some(x=>x.id===g.dst)).map(g=>({id:g.id,source:g.src,target:g.dst,animated:!a&&g.weight==="critical",style:{stroke:nk[g.weight]||"var(--edge-cheap)",strokeWidth:g.weight==="critical"?2.4:1.2,strokeDasharray:g.confidence<.8?"6 4":void 0},label:g.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:10}})),p=Y.useMemo(()=>new Map(t.map(g=>[g.id,g])),[t]),y=(g,x)=>{l(p.get(x.id)??null)};return v.jsxs("div",{style:{flex:1,minHeight:0,position:"relative"},children:[v.jsx(Vg,{children:v.jsxs(k_,{nodes:d,edges:h,nodeTypes:ik,fitView:!0,fitViewOptions:{padding:.2,maxZoom:1.15},minZoom:.25,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,deleteKeyCode:null,onNodeClick:y,onPaneClick:()=>l(null),proOptions:{hideAttribution:!1},"data-testid":"impact-graph",children:[v.jsx(M_,{}),v.jsx(G_,{pannable:!0,zoomable:!0}),v.jsx(A_,{})]})}),o?v.jsxs("aside",{className:"inspector","data-testid":"graph-inspector",children:[v.jsx("div",{className:"t",children:Qu(o.type)}),v.jsx("div",{className:"n",children:o.name}),o.context?v.jsx("div",{className:"muted",children:o.context}):null,o.file_path?v.jsxs("div",{className:"file",children:[o.file_path,o.start_line?`:${o.start_line}`:""]}):null,v.jsx("div",{className:"muted",children:o.qualified_name})]}):null]})}const cl=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],ok="obsidian",Yg="loadpath.theme";function sk(t){return cl.some(r=>r.id===t)}function Xg(){try{const t=localStorage.getItem(Yg)||"";if(sk(t))return t}catch{}return ok}function lk(t){var r;return((r=cl.find(o=>o.id===t))==null?void 0:r.group)==="light"?"light":"dark"}function Qg(t){document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=lk(t);try{localStorage.setItem(Yg,t)}catch{}}const tp=[{id:"review",label:"Review",testId:"tab-review",shortcut:"1",icon:b0},{id:"architecture",label:"Architecture",testId:"tab-architecture",shortcut:"2",icon:F0},{id:"graph",label:"Impact graph",testId:"tab-graph",shortcut:"3",icon:H0},{id:"prs",label:"Pull requests",testId:"tab-prs",shortcut:"4",icon:V0},{id:"settings",label:"Settings",testId:"tab-settings",shortcut:"5",icon:B0}];function ak(){var Ge,Ke,zt,St,_t;const[t,r]=Y.useState("review"),[o,l]=Y.useState(localStorage.getItem("loadpath.repo")||""),[a,c]=Y.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[d,h]=Y.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=Y.useState(null),[g,x]=Y.useState(null),[m,S]=Y.useState([]),[_,M]=Y.useState("review"),[E,N]=Y.useState(""),[T,k]=Y.useState(""),[P,b]=Y.useState(""),[$,H]=Y.useState({}),[X,Q]=Y.useState([]),[te,Z]=Y.useState(localStorage.getItem("loadpath.scmRepo")||""),[ee,J]=Y.useState(localStorage.getItem("loadpath.provider")||"github"),[C,B]=Y.useState(localStorage.getItem("loadpath.prNumber")||""),[F,V]=Y.useState(""),[A,L]=Y.useState(Xg),O=Y.useRef(o);O.current=o;const j=q=>{L(q),Qg(q)};Y.useEffect(()=>{xt.settings().then(H).catch(()=>{}),xt.repos().then(q=>S(q.repos)).catch(()=>{})},[]),Y.useEffect(()=>{if(t!=="architecture"||!o)return;const q=o;let Se=!1;return xt.architecture(q).then(Ie=>{!Se&&O.current===q&&x(Ie)}).catch(()=>{}),()=>{Se=!0}},[t,o]);const z=q=>{l(q),localStorage.setItem("loadpath.repo",q)},ne=(q,Se)=>{c(q),h(Se),localStorage.setItem("loadpath.base",q),localStorage.setItem("loadpath.head",Se)},re=(q,Se,Ie)=>{J(q),Z(Se),localStorage.setItem("loadpath.provider",q),localStorage.setItem("loadpath.scmRepo",Se),Ie!==void 0&&(B(Ie),localStorage.setItem("loadpath.prNumber",Ie))},ue=async(q=o)=>{if(!q)return null;const Se=await xt.architecture(q);return O.current===q&&x(Se),Se},ce=async()=>{N(""),b(""),k("Tracing load path…"),z(o),ne(a,d);try{const q=await xt.review(o,a,d,!0);y(q),M("review"),r("review"),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{}),await ue(o)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},de=async(q=!0)=>{N(""),b(""),k(q?"Indexing…":"Full reindex…"),z(o);try{await xt.index(o,q);const Se=await ue(o);await xt.repos().then(Ie=>S(Ie.repos)).catch(()=>{}),Se!=null&&Se.indexed&&(M("architecture"),r("architecture"))}catch(Se){N(Se instanceof Error?Se.message:String(Se))}finally{k("")}},G=async()=>{N(""),b(""),k("Detecting layout…"),z(o);try{const q=await xt.init(o);b(q.message),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{})}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),b("Copied markdown brief")}catch(q){N(q instanceof Error?q.message:String(q))}},pe=async()=>{if(!(p!=null&&p.markdown)||!te||!C){N("Pick a pull request first (Pull requests tab), then post the brief.");return}k("Posting Loadpath brief…");try{const q=await xt.postComment(ee,te,Number(C),p.markdown);b(q.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},we=async()=>{N(""),k("Fetching pull requests…");try{const q=await xt.prs(ee,te);Q(q.pull_requests)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},ve=async q=>{q.preventDefault();const Se=new FormData(q.currentTarget),Ie={github_token:String(Se.get("github_token")||""),bitbucket_token:String(Se.get("bitbucket_token")||""),bitbucket_username:String(Se.get("bitbucket_username")||""),ai_provider:String(Se.get("ai_provider")||"none"),ai_api_key:String(Se.get("ai_api_key")||""),ai_model:String(Se.get("ai_model")||""),ai_base_url:String(Se.get("ai_base_url")||""),workspaces:m.length?m.map(Je=>({path:Je.path,name:Je.name})):o?[{path:o,name:O0(o)}]:[]};H(await xt.saveSettings(Ie)),b("Settings saved on this machine")},me=async()=>{if(p){k("Residual analysis…");try{const q=await xt.residual(p);V(q.note)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}}},Ce=Y.useRef(ce);Ce.current=ce;const je=Y.useRef(t);je.current=t,Y.useEffect(()=>{const q=Se=>{const Ie=Se.target;if(Ie&&(Ie.tagName==="INPUT"||Ie.tagName==="TEXTAREA"||Ie.tagName==="SELECT"||Ie.isContentEditable)){Se.key==="Escape"&&Ie.blur();return}if(Se.key==="Escape"){N(""),b("");return}const Je=tp.find(wn=>wn.shortcut===Se.key);if(Je&&r(Je.id),(Se.metaKey||Se.ctrlKey)&&Se.key==="Enter"){if(je.current==="settings"||je.current==="prs")return;Se.preventDefault(),Ce.current()}};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[]);const Pe=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.nodes)??[]:(p==null?void 0:p.nodes)??[],[_,g,p]),Le=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.edges)??[]:(p==null?void 0:p.edges)??[],[_,g,p]),rt=p!=null&&p.index?`${p.index.counts.nodes} nodes · ${p.index.counts.edges} edges`:g!=null&&g.indexed?`${g.counts.nodes} nodes · ${g.counts.edges} edges`:"Not indexed",st=((p==null?void 0:p.findings)||[]).filter(q=>!q.waived);return v.jsxs("div",{className:"app",children:[v.jsx("a",{className:"skip",href:"#main",children:"Skip to content"}),v.jsxs("nav",{className:"rail","data-testid":"rail","aria-label":"Primary",children:[v.jsxs("div",{className:"brand",children:[v.jsx("div",{className:"brand-mark",children:"Loadpath"}),v.jsx("div",{className:"brand-sub",children:"Load-path review"})]}),tp.map(q=>{const Se=q.icon,Ie=t===q.id;return v.jsxs("button",{type:"button","data-testid":q.testId,className:Ie?"nav-item active":"nav-item","aria-current":Ie?"page":void 0,onClick:()=>r(q.id),children:[v.jsx(Se,{}),v.jsx("span",{children:q.label})]},q.id)}),v.jsxs("div",{className:"theme-pick",children:[v.jsx("label",{htmlFor:"theme-select",children:"Theme"}),v.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:q=>j(q.target.value),children:cl.map(q=>v.jsx("option",{value:q.id,children:q.label},q.id))})]}),v.jsxs("div",{className:"rail-foot",children:[v.jsx("div",{className:"muted",role:"status",children:T||rt}),v.jsxs("div",{className:"kbd-hint",children:[v.jsx("kbd",{children:"1"}),"–",v.jsx("kbd",{children:"5"})," tabs · ",v.jsx("kbd",{children:"Ctrl"}),"+",v.jsx("kbd",{children:"Enter"})," review"]})]})]}),v.jsxs("div",{className:"main",id:"main",children:[T?v.jsxs("div",{className:"progress",role:"status","aria-live":"polite","aria-busy":"true",children:[v.jsx("i",{}),v.jsx("span",{className:"sr-only",children:T})]}):null,v.jsxs("header",{className:"topbar","data-testid":"topbar",children:[m.length>0?v.jsxs("label",{className:"field workspace",children:[v.jsx("span",{children:"Workspace"}),v.jsxs("select",{"data-testid":"workspace-select",value:m.some(q=>q.path===o)?o:"",onChange:q=>{q.target.value&&z(q.target.value)},children:[v.jsx("option",{value:"",children:"Indexed repos…"}),m.map(q=>v.jsxs("option",{value:q.path,children:[q.name,q.indexed?` (${q.counts.nodes})`:""]},q.path))]})]}):null,v.jsxs("label",{className:"field path",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"repo-path",placeholder:"Local monorepo path",value:o,onChange:q=>l(q.target.value),spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Base"}),v.jsx("input",{"data-testid":"base-ref",value:a,onChange:q=>ne(q.target.value,d),placeholder:"base",spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Head"}),v.jsx("input",{"data-testid":"head-ref",value:d,onChange:q=>ne(a,q.target.value),placeholder:"head",spellCheck:!1})]}),v.jsxs("div",{className:"topbar-actions",children:[v.jsx("button",{type:"button","data-testid":"btn-init",disabled:!!T,onClick:G,children:"Draft config"}),v.jsx("button",{type:"button","data-testid":"btn-index",disabled:!!T,onClick:()=>de(!0),children:"Index"}),v.jsx("button",{type:"button","data-testid":"btn-review",className:"btn primary",disabled:!!T,onClick:ce,children:"Review"})]})]}),v.jsxs("div",{className:"alerts",children:[E?v.jsxs("div",{className:"error",children:[v.jsx("span",{children:E}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>N(""),"aria-label":"Dismiss error",children:"×"})]}):null,P?v.jsxs("div",{className:"banner","data-testid":"status-note",children:[v.jsx("span",{children:P}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>b(""),"aria-label":"Dismiss",children:"×"})]}):null,((Ge=p==null?void 0:p.index)!=null&&Ge.stale||g!=null&&g.stale)&&(t==="review"||t==="architecture")?v.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((Ke=p==null?void 0:p.index)==null?void 0:Ke.django_boot)==="failed"||(g==null?void 0:g.django_boot)==="failed"?v.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((zt=p==null?void 0:p.index)==null?void 0:zt.django_boot_detail)||(g==null?void 0:g.django_boot_detail)||"django.setup() failed"}):null,(St=p==null?void 0:p.workspace)!=null&&St.dirty_overlaps_review&&t==="review"?v.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null]}),v.jsxs("div",{className:"stage",children:[t==="review"&&v.jsxs("div",{className:"content","data-testid":"review-layout",children:[v.jsx("aside",{className:"brief","data-testid":"brief",children:p?v.jsx(uk,{review:p,findings:st,aiNote:F,busy:!!T,onAskAi:me,onCopy:se,onPost:pe}):v.jsxs("div",{className:"empty","data-testid":"review-empty",children:[v.jsx("h2",{children:"Trace the force of this diff"}),v.jsx("p",{children:"The graph is the architecture. The brief is where this change travels — not a hunk list."}),v.jsxs("ol",{children:[v.jsx("li",{children:"Point at a Django + React monorepo, or pick an indexed workspace."}),v.jsxs("li",{children:["Index it. Missing ",v.jsx("code",{children:"loadpath.yml"})," is drafted from ",v.jsx("code",{children:"manage.py"})," and"," ",v.jsx("code",{children:"src/features"}),"."]}),v.jsx("li",{children:"Review a git range, or open a pull request so base/head become a three-dot merge-base."})]})]})}),v.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?v.jsx(Ru,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&v.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[v.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:g!=null&&g.indexed?v.jsx(ck,{architecture:g,busy:!!T,onReindex:()=>de(!1),onReview:ce}):v.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),v.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:g!=null&&g.indexed?v.jsx(Ru,{nodes:g.nodes,edges:g.edges}):null})]}),t==="graph"&&v.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%"},children:[v.jsxs("div",{className:"graph-modes",children:[v.jsxs("div",{className:"seg",role:"tablist","aria-label":"Graph scope",children:[v.jsx("button",{type:"button",role:"tab","aria-selected":_==="review","data-testid":"graph-mode-review",className:_==="review"?"active":"",onClick:()=>M("review"),children:"This review"}),v.jsx("button",{type:"button",role:"tab","aria-selected":_==="architecture","data-testid":"graph-mode-architecture",className:_==="architecture"?"active":"",onClick:()=>M("architecture"),children:"Indexed architecture"})]}),v.jsxs("div",{className:"legend","aria-hidden":"true",children:[v.jsxs("span",{children:[v.jsx("i",{})," cheap"]}),v.jsxs("span",{children:[v.jsx("i",{className:"exp"})," expensive"]}),v.jsxs("span",{children:[v.jsx("i",{className:"crit"})," critical"]}),v.jsxs("span",{children:[v.jsx("i",{className:"dash"})," inferred"]})]})]}),Pe.length?v.jsx(Ru,{nodes:Pe,edges:Le}):v.jsx("p",{className:"empty",children:"Index the repo or run a review first. Click a node to inspect it."})]}),t==="prs"&&v.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[v.jsxs("div",{className:"pr-toolbar",children:[v.jsxs("label",{className:"field provider",children:[v.jsx("span",{children:"Provider"}),v.jsxs("select",{"data-testid":"pr-provider",value:ee,onChange:q=>re(q.target.value,te,C),children:[v.jsx("option",{value:"github",children:"GitHub"}),v.jsx("option",{value:"bitbucket",children:"Bitbucket"})]})]}),v.jsxs("label",{className:"field",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"pr-repo",placeholder:"owner/repo",value:te,onChange:q=>re(ee,q.target.value,C),spellCheck:!1})]}),v.jsx("button",{type:"button","data-testid":"btn-list-prs",className:"btn",disabled:!!T,onClick:we,children:"List PRs"})]}),X.length===0?v.jsxs("div",{className:"empty",children:[v.jsx("h2",{children:"No pull requests loaded"}),v.jsx("p",{children:"Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs."})]}):X.map(q=>v.jsxs("article",{className:"pr","data-testid":`pr-${q.number}`,children:[v.jsxs("h3",{children:["#",q.number," ",q.title]}),v.jsxs("div",{className:"pr-meta muted",children:[v.jsx("span",{className:`chip ${q.draft?"":"open"}`,children:q.draft?"draft":q.state}),v.jsx("span",{children:q.author}),v.jsxs("span",{children:[q.source_branch," → ",q.target_branch]})]}),v.jsxs("div",{className:"pr-actions",children:[v.jsxs("a",{href:q.url,target:"_blank",rel:"noreferrer",children:["Open on ",q.provider]}),v.jsx("button",{type:"button",className:"btn primary",onClick:()=>{ne(q.base_sha||q.target_branch,q.head_sha||q.source_branch),re(q.provider,q.repo,String(q.number)),r("review")},children:"Review this range"})]})]},`${q.provider}-${q.number}`))]}),t==="settings"&&v.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:ve,children:[v.jsxs("div",{children:[v.jsx("h1",{children:"Settings"}),v.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the graph could not close."})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Appearance"}),v.jsx("p",{className:"muted",children:"Local to this browser. High contrast is a first-class theme, not an afterthought."}),v.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:cl.map(q=>v.jsxs("button",{type:"button",className:A===q.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${q.id}`,onClick:()=>j(q.id),children:[v.jsx("div",{className:"name",children:q.label}),v.jsx("div",{className:"group",children:q.group})]},q.id))})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Source control"}),v.jsx("label",{htmlFor:"github_token",children:"GitHub token"}),v.jsx("input",{id:"github_token",name:"github_token",type:"password",placeholder:"ghp_…",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_token",children:"Bitbucket token"}),v.jsx("input",{id:"bitbucket_token",name:"bitbucket_token",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_username",children:"Bitbucket username (app passwords)"}),v.jsx("input",{id:"bitbucket_username",name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Residual AI"}),v.jsx("label",{htmlFor:"ai_provider",children:"Provider"}),v.jsxs("select",{id:"ai_provider",name:"ai_provider",defaultValue:String(((_t=$.ai)==null?void 0:_t.provider)||"none"),children:[v.jsx("option",{value:"none",children:"none (graph only)"}),v.jsx("option",{value:"anthropic",children:"Anthropic"}),v.jsx("option",{value:"openai",children:"OpenAI"}),v.jsx("option",{value:"grok",children:"Grok / xAI"}),v.jsx("option",{value:"deepseek",children:"DeepSeek"}),v.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),v.jsx("option",{value:"ollama",children:"Ollama local"})]}),v.jsx("label",{htmlFor:"ai_api_key",children:"API key"}),v.jsx("input",{id:"ai_api_key",name:"ai_api_key",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"ai_model",children:"Model"}),v.jsx("input",{id:"ai_model",name:"ai_model",placeholder:"optional override"}),v.jsx("label",{htmlFor:"ai_base_url",children:"Base URL"}),v.jsx("input",{id:"ai_base_url",name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),v.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})]})]})}function uk({review:t,findings:r,aiNote:o,busy:l,onAskAi:a,onCopy:c,onPost:d}){var p,y,g,x,m,S,_,M;const h=[...new Set(t.confidence.reasons||[])];return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:`merge-box ${t.confidence.level}`,children:[v.jsxs("div",{className:`level ${t.confidence.level}`,children:[t.confidence.level.toUpperCase()," — ",t.title]}),h.length?v.jsx("ul",{className:"reasons",children:h.map(E=>v.jsx("li",{children:E},E))}):null,t.low_risk?v.jsx("span",{className:"chip",children:"low-risk"}):null,t.change_kinds.map(E=>v.jsx("span",{className:"chip",children:$0(E)},E))]}),v.jsxs("div",{className:"metrics",children:[v.jsxs("div",{className:"metric",children:[v.jsxs("div",{className:"n",children:[t.confidence.covered_sinks,"/",t.confidence.sinks]}),v.jsx("div",{className:"l",children:"Sinks tested"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:r.length}),v.jsx("div",{className:"l",children:"Findings"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:t.residuals.length}),v.jsx("div",{className:"l",children:"Residuals"})]})]}),v.jsx("pre",{className:"headline",children:t.headline}),t.index?v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Index ",v.jsx("span",{className:"count",children:t.index.counts.nodes})]}),v.jsxs("div",{className:"muted",children:["Walked ",t.index.counts.nodes," nodes / ",t.index.counts.edges," edges",t.index.reindex_skipped?" from an unchanged index":t.index.reindexed?" after an incremental refresh":" from the existing index",t.index.django_boot&&t.index.django_boot!=="off"?` · Django boot ${t.index.django_boot}`:"",(p=t.workspace)!=null&&p.three_dot?" · three-dot range":""]})]}):null,v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Read this ",v.jsx("span",{className:"count",children:t.read_order.length})]}),t.read_order.map((E,N)=>v.jsxs("div",{className:"read-item",children:[v.jsxs("span",{className:"file",children:[N+1,". ",E.path]}),v.jsx("div",{className:"why",children:E.why})]},E.path))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Clusters ",v.jsx("span",{className:"count",children:t.clusters.length})]}),t.clusters.map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:E.title})," — ",E.files.join(", ")]},E.id))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Architecture ",v.jsx("span",{className:"count",children:r.length})]}),r.length===0?v.jsx("div",{className:"muted",children:t.architecture_note}):r.map(E=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${E.severity}`,children:E.severity}),E.message]},E.rule+E.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Residual ",v.jsx("span",{className:"count",children:t.residuals.length})]}),v.jsx("p",{className:"muted",children:"AI is only used here, on what the graph could not close."}),t.residuals.map(E=>v.jsx("div",{className:"residual muted",children:E},E))]}),(g=(y=t.evolution)==null?void 0:y.notes)!=null&&g.length||(m=(x=t.evolution)==null?void 0:x.hotspots)!=null&&m.some(E=>E.commits)?v.jsxs("details",{className:"section",children:[v.jsx("summary",{children:"Churn & coupling"}),(((S=t.evolution)==null?void 0:S.notes)||[]).map(E=>v.jsx("div",{className:"muted",children:E},E)),(((_=t.evolution)==null?void 0:_.hotspots)||[]).filter(E=>E.commits).slice(0,6).map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("span",{className:"file",children:E.path})," — ",E.commits," commits, bus factor ",E.bus_factor]},E.path))]}):null,v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:l,onClick:a,children:"Ask configured model"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-copy-markdown",onClick:c,children:"Copy markdown"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-post-comment",onClick:d,children:"Post to PR"})]}),o?v.jsx("pre",{className:"headline",children:o}):null,v.jsx("div",{className:"kicker",children:"Reviewers"}),v.jsx("div",{className:"muted",children:t.suggested_reviewers.join(", ")||"—"}),(M=t.knowledge_owners)!=null&&M.length?v.jsxs("div",{className:"muted",children:["Knowledge: ",t.knowledge_owners.join(", ")]}):null]})}function ck({architecture:t,busy:r,onReindex:o,onReview:l}){const a=t.findings.filter(c=>!c.waived);return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"merge-box high",children:[v.jsxs("div",{className:"level high",children:["INDEXED — ",t.counts.nodes," nodes"]}),v.jsxs("div",{className:"muted",style:{marginTop:8},children:[t.indexed_at?`Last index ${D0(t.indexed_at)}`:"Indexed",t.incremental?" · incremental":" · full",t.stale?" · stale":"",t.django_boot&&t.django_boot!=="off"?` · Django boot ${t.django_boot}`:""]}),v.jsxs("span",{className:"chip",children:[t.counts.edges," edges"]}),t.has_config?v.jsx("span",{className:"chip",children:"loadpath.yml"}):null]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Bounded contexts"}),Object.values(t.contexts).map(c=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:c.name})," — ",(c.django_apps||[]).join(", ")||"no apps"," ·"," ",(c.owners||[]).join(", ")||"unowned"]},c.name))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Rules ",v.jsx("span",{className:"count",children:(t.rules||[]).length})]}),(t.rules||[]).map(c=>v.jsx("div",{className:"muted",children:c},c))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Findings ",v.jsx("span",{className:"count",children:a.length})]}),a.length===0?v.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):a.map(c=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${c.severity}`,children:c.severity}),c.message]},c.rule+c.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Types"}),v.jsx("table",{className:"type-table",children:v.jsx("tbody",{children:Object.entries(t.type_counts||{}).sort((c,d)=>d[1]-c[1]).slice(0,12).map(([c,d])=>v.jsxs("tr",{children:[v.jsx("td",{children:Qu(c)}),v.jsx("td",{children:d})]},c))})})]}),v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:r,onClick:o,"data-testid":"btn-full-reindex",children:"Full reindex"}),v.jsx("button",{type:"button",className:"btn primary",disabled:r,onClick:l,children:"Review against this index"})]})]})}Qg(Xg());A0.createRoot(document.getElementById("root")).render(v.jsx(Y.StrictMode,{children:v.jsx(ak,{})})); diff --git a/src/loadpath/static/index.html b/src/loadpath/static/index.html index c141537..4bf0a48 100644 --- a/src/loadpath/static/index.html +++ b/src/loadpath/static/index.html @@ -17,7 +17,7 @@ - + diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 36ce428..57ab844 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -316,8 +316,7 @@ export function App() { {busy || indexLine}

- 1–5 tabs · ⌘ - Enter review + 1–5 tabs · Ctrl+Enter review
@@ -693,16 +692,16 @@ function ReviewBrief({ onCopy: () => void; onPost: () => void; }) { + const uniqueReasons = [...new Set(review.confidence.reasons || [])]; return ( <>
{review.confidence.level.toUpperCase()} — {review.title}
-
{review.headline.split("\n")[0]}
- {review.confidence.reasons?.length ? ( + {uniqueReasons.length ? (
    - {review.confidence.reasons.map((reason) => ( + {uniqueReasons.map((reason) => (
  • {reason}
  • ))}
diff --git a/ui/src/ImpactGraph.tsx b/ui/src/ImpactGraph.tsx index a5a81e5..3fb7ab2 100644 --- a/ui/src/ImpactGraph.tsx +++ b/ui/src/ImpactGraph.tsx @@ -71,7 +71,8 @@ export function ImpactGraph({ nodes, edges }: { nodes: GraphNode[]; edges: Graph edges={rfEdges} nodeTypes={nodeTypes} fitView - minZoom={0.15} + fitViewOptions={{ padding: 0.2, maxZoom: 1.15 }} + minZoom={0.25} nodesDraggable={false} nodesConnectable={false} elementsSelectable From ec947f504148c7859b3e24fda462cee8b8836c87 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 15 Aug 2026 00:26:06 +0000 Subject: [PATCH 3/3] Fix overlapping reviews, stale graph inspector, and a11y nits from PR review. Co-authored-by: Damon --- README.md | 2 +- src/loadpath/static/assets/index-5LvtBaA5.js | 62 +++++++++++++++++++ src/loadpath/static/assets/index-Dga6v2BT.js | 62 ------------------- ...{index-B8NciQ8z.css => index-YwQandBA.css} | 2 +- src/loadpath/static/index.html | 4 +- ui/src/App.tsx | 57 ++++++++++------- ui/src/ImpactGraph.tsx | 13 ++-- ui/src/styles.css | 2 +- 8 files changed, 110 insertions(+), 94 deletions(-) create mode 100644 src/loadpath/static/assets/index-5LvtBaA5.js delete mode 100644 src/loadpath/static/assets/index-Dga6v2BT.js rename src/loadpath/static/assets/{index-B8NciQ8z.css => index-YwQandBA.css} (67%) diff --git a/README.md b/README.md index 0469ce5..ff0086b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ plus the jobs the view enqueues (`send_invoice_email.delay`, `rebuild_ledger.sen ## App -`loadpath serve --port 7345` opens a local desktop-style UI: icon rail, labeled toolbar, merge-box confidence, and an inspectable impact graph. Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. A dozen themes (Obsidian, Nord, Solarized, Paper, high-contrast, …) live in Settings and `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. Keyboard: `1`–`5` switches tabs, `⌘`/`Ctrl`+`Enter` runs a review. +`loadpath serve --port 7345` opens a local desktop-style UI: icon rail, labeled toolbar, merge-box confidence, and an inspectable impact graph. Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. A dozen themes (Obsidian, Nord, Solarized, Paper, high-contrast, …) live in Settings and `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. Keyboard: `1`–`5` switches tabs. Outside Settings and Pull requests, `⌘`/`Ctrl`+`Enter` runs a review. ### Review diff --git a/src/loadpath/static/assets/index-5LvtBaA5.js b/src/loadpath/static/assets/index-5LvtBaA5.js new file mode 100644 index 0000000..d210ee7 --- /dev/null +++ b/src/loadpath/static/assets/index-5LvtBaA5.js @@ -0,0 +1,62 @@ +(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function o(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=o(a);fetch(a.href,c)}})();function np(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var gu={exports:{}},Ki={},mu={exports:{}},je={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Df;function j0(){if(Df)return je;Df=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),v=Symbol.iterator;function g(j){return j===null||typeof j!="object"?null:(j=v&&j[v]||j["@@iterator"],typeof j=="function"?j:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,M={};function k(j,T,ee){this.props=j,this.context=T,this.refs=M,this.updater=ee||S}k.prototype.isReactComponent={},k.prototype.setState=function(j,T){if(typeof j!="object"&&typeof j!="function"&&j!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,j,T,"setState")},k.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function E(){}E.prototype=k.prototype;function z(j,T,ee){this.props=j,this.context=T,this.refs=M,this.updater=ee||S}var N=z.prototype=new E;N.constructor=z,_(N,k.prototype),N.isPureReactComponent=!0;var P=Array.isArray,b=Object.prototype.hasOwnProperty,$={current:null},H={key:!0,ref:!0,__self:!0,__source:!0};function X(j,T,ee){var re,ue={},de=null,ce=null;if(T!=null)for(re in T.ref!==void 0&&(ce=T.ref),T.key!==void 0&&(de=""+T.key),T)b.call(T,re)&&!H.hasOwnProperty(re)&&(ue[re]=T[re]);var Q=arguments.length-2;if(Q===1)ue.children=ee;else if(1>>1,T=A[j];if(0>>1;ja(ue,O))dea(ce,ue)?(A[j]=ce,A[de]=O,j=de):(A[j]=ue,A[re]=O,j=re);else if(dea(ce,O))A[j]=ce,A[de]=O,j=de;else break e}}return L}function a(A,L){var O=A.sortIndex-L.sortIndex;return O!==0?O:A.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();t.unstable_now=function(){return d.now()-h}}var p=[],y=[],m=1,v=null,g=3,S=!1,_=!1,M=!1,k=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,z=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function N(A){for(var L=o(y);L!==null;){if(L.callback===null)l(y);else if(L.startTime<=A)l(y),L.sortIndex=L.expirationTime,r(p,L);else break;L=o(y)}}function P(A){if(M=!1,N(A),!_)if(o(p)!==null)_=!0,F(b);else{var L=o(y);L!==null&&V(P,L.startTime-A)}}function b(A,L){_=!1,M&&(M=!1,E(X),X=-1),S=!0;var O=g;try{for(N(L),v=o(p);v!==null&&(!(v.expirationTime>L)||A&&!Z());){var j=v.callback;if(typeof j=="function"){v.callback=null,g=v.priorityLevel;var T=j(v.expirationTime<=L);L=t.unstable_now(),typeof T=="function"?v.callback=T:v===o(p)&&l(p),N(L)}else l(p);v=o(p)}if(v!==null)var ee=!0;else{var re=o(y);re!==null&&V(P,re.startTime-L),ee=!1}return ee}finally{v=null,g=O,S=!1}}var $=!1,H=null,X=-1,K=5,ne=-1;function Z(){return!(t.unstable_now()-neA||125j?(A.sortIndex=O,r(y,A),o(p)===null&&A===o(y)&&(M?(E(X),X=-1):M=!0,V(P,O-j))):(A.sortIndex=T,r(p,A),_||S||(_=!0,F(b))),A},t.unstable_shouldYield=Z,t.unstable_wrapCallback=function(A){var L=g;return function(){var O=g;g=L;try{return A.apply(this,arguments)}finally{g=O}}}})(xu)),xu}var Vf;function z0(){return Vf||(Vf=1,vu.exports=T0()),vu.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Bf;function R0(){if(Bf)return wt;Bf=1;var t=fo(),r=z0();function o(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},v={};function g(e){return p.call(v,e)?!0:p.call(m,e)?!1:y.test(e)?v[e]=!0:(m[e]=!0,!1)}function S(e,n,i,s){if(i!==null&&i.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return s?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _(e,n,i,s){if(n===null||typeof n>"u"||S(e,n,i,s))return!0;if(s)return!1;if(i!==null)switch(i.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function M(e,n,i,s,u,f,w){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=s,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=n,this.sanitizeURL=f,this.removeEmptyString=w}var k={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){k[e]=new M(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];k[n]=new M(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){k[e]=new M(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){k[e]=new M(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){k[e]=new M(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){k[e]=new M(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){k[e]=new M(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){k[e]=new M(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){k[e]=new M(e,5,!1,e.toLowerCase(),null,!1,!1)});var E=/[\-:]([a-z])/g;function z(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(E,z);k[n]=new M(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(E,z);k[n]=new M(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(E,z);k[n]=new M(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){k[e]=new M(e,1,!1,e.toLowerCase(),null,!1,!1)}),k.xlinkHref=new M("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){k[e]=new M(e,1,!1,e.toLowerCase(),null,!0,!0)});function N(e,n,i,s){var u=k.hasOwnProperty(n)?k[n]:null;(u!==null?u.type!==0:s||!(2I||u[w]!==f[I]){var R=` +`+u[w].replace(" at new "," at ");return e.displayName&&R.includes("")&&(R=R.replace("",e.displayName)),R}while(1<=w&&0<=I);break}}}finally{ee=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?T(e):""}function ue(e){switch(e.tag){case 5:return T(e.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return e=re(e.type,!1),e;case 11:return e=re(e.type.render,!1),e;case 1:return e=re(e.type,!0),e;default:return""}}function de(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case H:return"Fragment";case $:return"Portal";case K:return"Profiler";case X:return"StrictMode";case J:return"Suspense";case C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Z:return(e.displayName||"Context")+".Consumer";case ne:return(e._context.displayName||"Context")+".Provider";case te:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case B:return n=e.displayName||null,n!==null?n:de(e.type)||"Memo";case F:n=e._payload,e=e._init;try{return de(e(n))}catch{}}return null}function ce(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return de(n);case 8:return n===X?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function Q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function se(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function pe(e){var n=se(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),s=""+e[n];if(!e.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,f=i.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(w){s=""+w,f.call(this,w)}}),Object.defineProperty(e,n,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Se(e){e._valueTracker||(e._valueTracker=pe(e))}function ve(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),s="";return e&&(s=se(e)?e.checked?"true":"false":e.value),e=s,e!==i?(n.setValue(e),!0):!1}function me(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ce(e,n){var i=n.checked;return O({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Me(e,n){var i=n.defaultValue==null?"":n.defaultValue,s=n.checked!=null?n.checked:n.defaultChecked;i=Q(n.value!=null?n.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Pe(e,n){n=n.checked,n!=null&&N(e,"checked",n,!1)}function ze(e,n){Pe(e,n);var i=Q(n.value),s=n.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?lt(e,n.type,i):n.hasOwnProperty("defaultValue")&<(e,n.type,Q(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ze(e,n,i){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var s=n.type;if(!(s!=="submit"&&s!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,i||n===e.value||(e.value=n),e.defaultValue=n}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function lt(e,n,i){(n!=="number"||me(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Je=Array.isArray;function et(e,n,i,s){if(e=e.options,n){n={};for(var u=0;u"+n.valueOf().toString()+"",n=we.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ke(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var un={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kl=["Webkit","ms","Moz","O"];Object.keys(un).forEach(function(e){kl.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),un[n]=un[e]})});function wo(e,n,i){return n==null||typeof n=="boolean"||n===""?"":i||typeof n!="number"||n===0||un.hasOwnProperty(e)&&un[e]?(""+n).trim():n+"px"}function So(e,n){e=e.style;for(var i in n)if(n.hasOwnProperty(i)){var s=i.indexOf("--")===0,u=wo(i,n[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,u):e[i]=u}}var El=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function si(e,n){if(n){if(El[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(o(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(o(61))}if(n.style!=null&&typeof n.style!="object")throw Error(o(62))}}function li(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function ui(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,_n=null,kn=null;function _o(e){if(e=Li(e)){if(typeof ci!="function")throw Error(o(280));var n=e.stateNode;n&&(n=Zo(n),ci(e.stateNode,e.type,n))}}function ko(e){_n?kn?kn.push(e):kn=[e]:_n=e}function Eo(){if(_n){var e=_n,n=kn;if(kn=_n=null,_o(e),n)for(e=0;e>>=0,e===0?32:31-(Ll(e)/Al|0)|0}var Nr=64,Cr=4194304;function qn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function cn(e,n){var i=e.pendingLanes;if(i===0)return 0;var s=0,u=e.suspendedLanes,f=e.pingedLanes,w=i&268435455;if(w!==0){var I=w&~u;I!==0?s=qn(I):(f&=w,f!==0&&(s=qn(f)))}else w=i&~u,w!==0?s=qn(w):f!==0&&(s=qn(f));if(s===0)return 0;if(n!==0&&n!==s&&(n&u)===0&&(u=s&-s,f=n&-n,u>=f||u===16&&(f&4194240)!==0))return n;if((s&4)!==0&&(s|=i&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=s;0i;i++)n.push(e);return n}function Jn(e,n,i){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Ct(n),e[n]=i}function Ol(e,n){var i=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0=Ni),Pc=" ",Ic=!1;function Tc(e,n){switch(e){case"keyup":return _m.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ir=!1;function Em(e,n){switch(e){case"compositionend":return zc(n);case"keypress":return n.which!==32?null:(Ic=!0,Pc);case"textInput":return e=n.data,e===Pc&&Ic?null:e;default:return null}}function Nm(e,n){if(Ir)return e==="compositionend"||!Kl&&Tc(e,n)?(e=kc(),Ho=Bl=Mn=null,Ir=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:i,offset:n-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=bc(i)}}function Hc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Hc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vc(){for(var e=window,n=me();n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=me(e.document)}return n}function Zl(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Lm(e){var n=Vc(),i=e.focusedElem,s=e.selectionRange;if(n!==i&&i&&i.ownerDocument&&Hc(i.ownerDocument.documentElement,i)){if(s!==null&&Zl(i)){if(n=s.start,e=s.end,e===void 0&&(e=n),"selectionStart"in i)i.selectionStart=n,i.selectionEnd=Math.min(e,i.value.length);else if(e=(n=i.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,f=Math.min(s.start,u);s=s.end===void 0?f:Math.min(s.end,u),!e.extend&&f>s&&(u=s,s=f,f=u),u=Fc(i,f);var w=Fc(i,s);u&&w&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==w.node||e.focusOffset!==w.offset)&&(n=n.createRange(),n.setStart(u.node,u.offset),e.removeAllRanges(),f>s?(e.addRange(n),e.extend(w.node,w.offset)):(n.setEnd(w.node,w.offset),e.addRange(n)))}}for(n=[],e=i;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Tr=null,Jl=null,Pi=null,ea=!1;function Bc(e,n,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ea||Tr==null||Tr!==me(s)||(s=Tr,"selectionStart"in s&&Zl(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Pi&&Mi(Pi,s)||(Pi=s,s=Ko(Jl,"onSelect"),0$r||(e.current=fa[$r],fa[$r]=null,$r--)}function $e(e,n){$r++,fa[$r]=e.current,e.current=n}var zn={},at=Tn(zn),gt=Tn(!1),tr=zn;function Dr(e,n){var i=e.type.contextTypes;if(!i)return zn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===n)return s.__reactInternalMemoizedMaskedChildContext;var u={},f;for(f in i)u[f]=n[f];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=u),u}function mt(e){return e=e.childContextTypes,e!=null}function Jo(){Oe(gt),Oe(at)}function id(e,n,i){if(at.current!==zn)throw Error(o(168));$e(at,n),$e(gt,i)}function od(e,n,i){var s=e.stateNode;if(n=n.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var u in s)if(!(u in n))throw Error(o(108,ce(e)||"Unknown",u));return O({},i,s)}function es(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zn,tr=at.current,$e(at,e),$e(gt,gt.current),!0}function sd(e,n,i){var s=e.stateNode;if(!s)throw Error(o(169));i?(e=od(e,n,tr),s.__reactInternalMemoizedMergedChildContext=e,Oe(gt),Oe(at),$e(at,e)):Oe(gt),$e(gt,i)}var fn=null,ts=!1,ha=!1;function ld(e){fn===null?fn=[e]:fn.push(e)}function Ym(e){ts=!0,ld(e)}function Rn(){if(!ha&&fn!==null){ha=!0;var e=0,n=Le;try{var i=fn;for(Le=1;e>=w,u-=w,hn=1<<32-Ct(n)+u|i<Ne?(rt=Ee,Ee=null):rt=Ee.sibling;var Re=ie(U,Ee,Y[Ne],ae);if(Re===null){Ee===null&&(Ee=rt);break}e&&Ee&&Re.alternate===null&&n(U,Ee),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re,Ee=rt}if(Ne===Y.length)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;NeNe?(rt=Ee,Ee=null):rt=Ee.sibling;var Vn=ie(U,Ee,Re.value,ae);if(Vn===null){Ee===null&&(Ee=rt);break}e&&Ee&&Vn.alternate===null&&n(U,Ee),D=f(Vn,D,Ne),ke===null?xe=Vn:ke.sibling=Vn,ke=Vn,Ee=rt}if(Re.done)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;!Re.done;Ne++,Re=Y.next())Re=le(U,Re.value,ae),Re!==null&&(D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return Fe&&rr(U,Ne),xe}for(Ee=s(U,Ee);!Re.done;Ne++,Re=Y.next())Re=fe(Ee,U,Ne,Re.value,ae),Re!==null&&(e&&Re.alternate!==null&&Ee.delete(Re.key===null?Ne:Re.key),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return e&&Ee.forEach(function(C0){return n(U,C0)}),Fe&&rr(U,Ne),xe}function Ye(U,D,Y,ae){if(typeof Y=="object"&&Y!==null&&Y.type===H&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case b:e:{for(var xe=Y.key,ke=D;ke!==null;){if(ke.key===xe){if(xe=Y.type,xe===H){if(ke.tag===7){i(U,ke.sibling),D=u(ke,Y.props.children),D.return=U,U=D;break e}}else if(ke.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===F&&hd(xe)===ke.type){i(U,ke.sibling),D=u(ke,Y.props),D.ref=Ai(U,ke,Y),D.return=U,U=D;break e}i(U,ke);break}else n(U,ke);ke=ke.sibling}Y.type===H?(D=dr(Y.props.children,U.mode,ae,Y.key),D.return=U,U=D):(ae=Ps(Y.type,Y.key,Y.props,null,U.mode,ae),ae.ref=Ai(U,D,Y),ae.return=U,U=ae)}return w(U);case $:e:{for(ke=Y.key;D!==null;){if(D.key===ke)if(D.tag===4&&D.stateNode.containerInfo===Y.containerInfo&&D.stateNode.implementation===Y.implementation){i(U,D.sibling),D=u(D,Y.children||[]),D.return=U,U=D;break e}else{i(U,D);break}else n(U,D);D=D.sibling}D=cu(Y,U.mode,ae),D.return=U,U=D}return w(U);case F:return ke=Y._init,Ye(U,D,ke(Y._payload),ae)}if(Je(Y))return ge(U,D,Y,ae);if(L(Y))return ye(U,D,Y,ae);os(U,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"?(Y=""+Y,D!==null&&D.tag===6?(i(U,D.sibling),D=u(D,Y),D.return=U,U=D):(i(U,D),D=uu(Y,U.mode,ae),D.return=U,U=D),w(U)):i(U,D)}return Ye}var Hr=pd(!0),gd=pd(!1),ss=Tn(null),ls=null,Vr=null,xa=null;function wa(){xa=Vr=ls=null}function Sa(e){var n=ss.current;Oe(ss),e._currentValue=n}function _a(e,n,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===i)break;e=e.return}}function Br(e,n){ls=e,xa=Vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(yt=!0),e.firstContext=null)}function Dt(e){var n=e._currentValue;if(xa!==e)if(e={context:e,memoizedValue:n,next:null},Vr===null){if(ls===null)throw Error(o(308));Vr=e,ls.dependencies={lanes:0,firstContext:e}}else Vr=Vr.next=e;return n}var ir=null;function ka(e){ir===null?ir=[e]:ir.push(e)}function md(e,n,i,s){var u=n.interleaved;return u===null?(i.next=i,ka(n)):(i.next=u.next,u.next=i),n.interleaved=i,gn(e,s)}function gn(e,n){e.lanes|=n;var i=e.alternate;for(i!==null&&(i.lanes|=n),i=e,e=e.return;e!==null;)e.childLanes|=n,i=e.alternate,i!==null&&(i.childLanes|=n),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Ln=!1;function Ea(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yd(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function mn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function An(e,n,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Ie&2)!==0){var u=s.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),s.pending=n,gn(e,i)}return u=s.interleaved,u===null?(n.next=n,ka(s)):(n.next=u.next,u.next=n),s.interleaved=n,gn(e,i)}function as(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194240)!==0)){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}function vd(e,n){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var u=null,f=null;if(i=i.firstBaseUpdate,i!==null){do{var w={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};f===null?u=f=w:f=f.next=w,i=i.next}while(i!==null);f===null?u=f=n:f=f.next=n}else u=f=n;i={baseState:s.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}function us(e,n,i,s){var u=e.updateQueue;Ln=!1;var f=u.firstBaseUpdate,w=u.lastBaseUpdate,I=u.shared.pending;if(I!==null){u.shared.pending=null;var R=I,G=R.next;R.next=null,w===null?f=G:w.next=G,w=R;var oe=e.alternate;oe!==null&&(oe=oe.updateQueue,I=oe.lastBaseUpdate,I!==w&&(I===null?oe.firstBaseUpdate=G:I.next=G,oe.lastBaseUpdate=R))}if(f!==null){var le=u.baseState;w=0,oe=G=R=null,I=f;do{var ie=I.lane,fe=I.eventTime;if((s&ie)===ie){oe!==null&&(oe=oe.next={eventTime:fe,lane:0,tag:I.tag,payload:I.payload,callback:I.callback,next:null});e:{var ge=e,ye=I;switch(ie=n,fe=i,ye.tag){case 1:if(ge=ye.payload,typeof ge=="function"){le=ge.call(fe,le,ie);break e}le=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=ye.payload,ie=typeof ge=="function"?ge.call(fe,le,ie):ge,ie==null)break e;le=O({},le,ie);break e;case 2:Ln=!0}}I.callback!==null&&I.lane!==0&&(e.flags|=64,ie=u.effects,ie===null?u.effects=[I]:ie.push(I))}else fe={eventTime:fe,lane:ie,tag:I.tag,payload:I.payload,callback:I.callback,next:null},oe===null?(G=oe=fe,R=le):oe=oe.next=fe,w|=ie;if(I=I.next,I===null){if(I=u.shared.pending,I===null)break;ie=I,I=ie.next,ie.next=null,u.lastBaseUpdate=ie,u.shared.pending=null}}while(!0);if(oe===null&&(R=le),u.baseState=R,u.firstBaseUpdate=G,u.lastBaseUpdate=oe,n=u.shared.interleaved,n!==null){u=n;do w|=u.lane,u=u.next;while(u!==n)}else f===null&&(u.shared.lanes=0);lr|=w,e.lanes=w,e.memoizedState=le}}function xd(e,n,i){if(e=n.effects,n.effects=null,e!==null)for(n=0;ni?i:4,e(!0);var s=Pa.transition;Pa.transition={};try{e(!1),n()}finally{Le=i,Pa.transition=s}}function Od(){return Ot().memoizedState}function Gm(e,n,i){var s=bn(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},bd(e))Fd(n,i);else if(i=md(e,n,i,s),i!==null){var u=pt();Yt(i,e,s,u),Hd(i,n,s)}}function qm(e,n,i){var s=bn(e),u={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(bd(e))Fd(n,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var w=n.lastRenderedState,I=f(w,i);if(u.hasEagerState=!0,u.eagerState=I,Ht(I,w)){var R=n.interleaved;R===null?(u.next=u,ka(n)):(u.next=R.next,R.next=u),n.interleaved=u;return}}catch{}finally{}i=md(e,n,u,s),i!==null&&(u=pt(),Yt(i,e,s,u),Hd(i,n,s))}}function bd(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function Fd(e,n){bi=fs=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Hd(e,n,i){if((i&4194240)!==0){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}var gs={readContext:Dt,useCallback:ut,useContext:ut,useEffect:ut,useImperativeHandle:ut,useInsertionEffect:ut,useLayoutEffect:ut,useMemo:ut,useReducer:ut,useRef:ut,useState:ut,useDebugValue:ut,useDeferredValue:ut,useTransition:ut,useMutableSource:ut,useSyncExternalStore:ut,useId:ut,unstable_isNewReconciler:!1},Zm={readContext:Dt,useCallback:function(e,n){return rn().memoizedState=[e,n===void 0?null:n],e},useContext:Dt,useEffect:Id,useImperativeHandle:function(e,n,i){return i=i!=null?i.concat([e]):null,hs(4194308,4,Rd.bind(null,n,e),i)},useLayoutEffect:function(e,n){return hs(4194308,4,e,n)},useInsertionEffect:function(e,n){return hs(4,2,e,n)},useMemo:function(e,n){var i=rn();return n=n===void 0?null:n,e=e(),i.memoizedState=[e,n],e},useReducer:function(e,n,i){var s=rn();return n=i!==void 0?i(n):n,s.memoizedState=s.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},s.queue=e,e=e.dispatch=Gm.bind(null,Be,e),[s.memoizedState,e]},useRef:function(e){var n=rn();return e={current:e},n.memoizedState=e},useState:Md,useDebugValue:$a,useDeferredValue:function(e){return rn().memoizedState=e},useTransition:function(){var e=Md(!1),n=e[0];return e=Km.bind(null,e[1]),rn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,i){var s=Be,u=rn();if(Fe){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),nt===null)throw Error(o(349));(sr&30)!==0||kd(s,n,i)}u.memoizedState=i;var f={value:i,getSnapshot:n};return u.queue=f,Id(Nd.bind(null,s,f,e),[e]),s.flags|=2048,Vi(9,Ed.bind(null,s,f,i,n),void 0,null),i},useId:function(){var e=rn(),n=nt.identifierPrefix;if(Fe){var i=pn,s=hn;i=(s&~(1<<32-Ct(s)-1)).toString(32)+i,n=":"+n+"R"+i,i=Fi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=w.createElement(i,{is:s.is}):(e=w.createElement(i),i==="select"&&(w=e,s.multiple?w.multiple=!0:s.size&&(w.size=s.size))):e=w.createElementNS(e,i),e[tn]=n,e[Ri]=s,af(e,n,!1,!1),n.stateNode=e;e:{switch(w=li(i,s),i){case"dialog":De("cancel",e),De("close",e),u=s;break;case"iframe":case"object":case"embed":De("load",e),u=s;break;case"video":case"audio":for(u=0;uQr&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304)}else{if(!s)if(e=cs(w),e!==null){if(n.flags|=128,s=!0,i=e.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),Bi(f,!0),f.tail===null&&f.tailMode==="hidden"&&!w.alternate&&!Fe)return ct(n),null}else 2*He()-f.renderingStartTime>Qr&&i!==1073741824&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304);f.isBackwards?(w.sibling=n.child,n.child=w):(i=f.last,i!==null?i.sibling=w:n.child=w,f.last=w)}return f.tail!==null?(n=f.tail,f.rendering=n,f.tail=n.sibling,f.renderingStartTime=He(),n.sibling=null,i=Ve.current,$e(Ve,s?i&1|2:i&1),n):(ct(n),null);case 22:case 23:return su(),s=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(n.flags|=8192),s&&(n.mode&1)!==0?(It&1073741824)!==0&&(ct(n),n.subtreeFlags&6&&(n.flags|=8192)):ct(n),null;case 24:return null;case 25:return null}throw Error(o(156,n.tag))}function s0(e,n){switch(ga(n),n.tag){case 1:return mt(n.type)&&Jo(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Ur(),Oe(gt),Oe(at),Ma(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return Ca(n),null;case 13:if(Oe(Ve),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Fr()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Oe(Ve),null;case 4:return Ur(),null;case 10:return Sa(n.type._context),null;case 22:case 23:return su(),null;case 24:return null;default:return null}}var xs=!1,dt=!1,l0=typeof WeakSet=="function"?WeakSet:Set,he=null;function Yr(e,n){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){We(e,n,s)}else i.current=null}function Qa(e,n,i){try{i()}catch(s){We(e,n,s)}}var df=!1;function a0(e,n){if(sa=bo,e=Vc(),Zl(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var u=s.anchorOffset,f=s.focusNode;s=s.focusOffset;try{i.nodeType,f.nodeType}catch{i=null;break e}var w=0,I=-1,R=-1,G=0,oe=0,le=e,ie=null;t:for(;;){for(var fe;le!==i||u!==0&&le.nodeType!==3||(I=w+u),le!==f||s!==0&&le.nodeType!==3||(R=w+s),le.nodeType===3&&(w+=le.nodeValue.length),(fe=le.firstChild)!==null;)ie=le,le=fe;for(;;){if(le===e)break t;if(ie===i&&++G===u&&(I=w),ie===f&&++oe===s&&(R=w),(fe=le.nextSibling)!==null)break;le=ie,ie=le.parentNode}le=fe}i=I===-1||R===-1?null:{start:I,end:R}}else i=null}i=i||{start:0,end:0}}else i=null;for(la={focusedElem:e,selectionRange:i},bo=!1,he=n;he!==null;)if(n=he,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,he=e;else for(;he!==null;){n=he;try{var ge=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ge!==null){var ye=ge.memoizedProps,Ye=ge.memoizedState,U=n.stateNode,D=U.getSnapshotBeforeUpdate(n.elementType===n.type?ye:Bt(n.type,ye),Ye);U.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var Y=n.stateNode.containerInfo;Y.nodeType===1?Y.textContent="":Y.nodeType===9&&Y.documentElement&&Y.removeChild(Y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ae){We(n,n.return,ae)}if(e=n.sibling,e!==null){e.return=n.return,he=e;break}he=n.return}return ge=df,df=!1,ge}function Ui(e,n,i){var s=n.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var u=s=s.next;do{if((u.tag&e)===e){var f=u.destroy;u.destroy=void 0,f!==void 0&&Qa(n,i,f)}u=u.next}while(u!==s)}}function ws(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==n)}}function Ka(e){var n=e.ref;if(n!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof n=="function"?n(e):n.current=e}}function ff(e){var n=e.alternate;n!==null&&(e.alternate=null,ff(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[tn],delete n[Ri],delete n[da],delete n[Um],delete n[Wm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function hf(e){return e.tag===5||e.tag===3||e.tag===4}function pf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ga(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.nodeType===8?i.parentNode.insertBefore(e,n):i.insertBefore(e,n):(i.nodeType===8?(n=i.parentNode,n.insertBefore(e,i)):(n=i,n.appendChild(e)),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=qo));else if(s!==4&&(e=e.child,e!==null))for(Ga(e,n,i),e=e.sibling;e!==null;)Ga(e,n,i),e=e.sibling}function qa(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(qa(e,n,i),e=e.sibling;e!==null;)qa(e,n,i),e=e.sibling}var ot=null,Ut=!1;function $n(e,n,i){for(i=i.child;i!==null;)gf(e,n,i),i=i.sibling}function gf(e,n,i){if(Nt&&typeof Nt.onCommitFiberUnmount=="function")try{Nt.onCommitFiberUnmount(Er,i)}catch{}switch(i.tag){case 5:dt||Yr(i,n);case 6:var s=ot,u=Ut;ot=null,$n(e,n,i),ot=s,Ut=u,ot!==null&&(Ut?(e=ot,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):ot.removeChild(i.stateNode));break;case 18:ot!==null&&(Ut?(e=ot,i=i.stateNode,e.nodeType===8?ca(e.parentNode,i):e.nodeType===1&&ca(e,i),_i(e)):ca(ot,i.stateNode));break;case 4:s=ot,u=Ut,ot=i.stateNode.containerInfo,Ut=!0,$n(e,n,i),ot=s,Ut=u;break;case 0:case 11:case 14:case 15:if(!dt&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){u=s=s.next;do{var f=u,w=f.destroy;f=f.tag,w!==void 0&&((f&2)!==0||(f&4)!==0)&&Qa(i,n,w),u=u.next}while(u!==s)}$n(e,n,i);break;case 1:if(!dt&&(Yr(i,n),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(I){We(i,n,I)}$n(e,n,i);break;case 21:$n(e,n,i);break;case 22:i.mode&1?(dt=(s=dt)||i.memoizedState!==null,$n(e,n,i),dt=s):$n(e,n,i);break;default:$n(e,n,i)}}function mf(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new l0),n.forEach(function(s){var u=y0.bind(null,e,s);i.has(s)||(i.add(s),s.then(u,u))})}}function Wt(e,n){var i=n.deletions;if(i!==null)for(var s=0;su&&(u=w),s&=~f}if(s=u,s=He()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*c0(s/1960))-s,10e?16:e,On===null)var s=!1;else{if(e=On,On=null,Ns=0,(Ie&6)!==0)throw Error(o(331));var u=Ie;for(Ie|=4,he=e.current;he!==null;){var f=he,w=f.child;if((he.flags&16)!==0){var I=f.deletions;if(I!==null){for(var R=0;RHe()-eu?ur(e,0):Ja|=i),xt(e,n)}function Pf(e,n){n===0&&((e.mode&1)===0?n=1:(n=Cr,Cr<<=1,(Cr&130023424)===0&&(Cr=4194304)));var i=pt();e=gn(e,n),e!==null&&(Jn(e,n,i),xt(e,i))}function m0(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),Pf(e,i)}function y0(e,n){var i=0;switch(e.tag){case 13:var s=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(o(314))}s!==null&&s.delete(n),Pf(e,i)}var If;If=function(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps||gt.current)yt=!0;else{if((e.lanes&i)===0&&(n.flags&128)===0)return yt=!1,i0(e,n,i);yt=(e.flags&131072)!==0}else yt=!1,Fe&&(n.flags&1048576)!==0&&ad(n,rs,n.index);switch(n.lanes=0,n.tag){case 2:var s=n.type;vs(e,n),e=n.pendingProps;var u=Dr(n,at.current);Br(n,i),u=Ta(null,n,s,e,u,i);var f=za();return n.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,mt(s)?(f=!0,es(n)):f=!1,n.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ea(n),u.updater=ms,n.stateNode=u,u._reactInternals=n,Oa(n,s,e,i),n=Va(null,n,s,!0,f,i)):(n.tag=0,Fe&&f&&pa(n),ht(null,n,u,i),n=n.child),n;case 16:s=n.elementType;e:{switch(vs(e,n),e=n.pendingProps,u=s._init,s=u(s._payload),n.type=s,u=n.tag=x0(s),e=Bt(s,e),u){case 0:n=Ha(null,n,s,e,i);break e;case 1:n=tf(null,n,s,e,i);break e;case 11:n=Gd(null,n,s,e,i);break e;case 14:n=qd(null,n,s,Bt(s.type,e),i);break e}throw Error(o(306,s,""))}return n;case 0:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Bt(s,u),Ha(e,n,s,u,i);case 1:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Bt(s,u),tf(e,n,s,u,i);case 3:e:{if(nf(n),e===null)throw Error(o(387));s=n.pendingProps,f=n.memoizedState,u=f.element,yd(e,n),us(n,s,null,i);var w=n.memoizedState;if(s=w.element,f.isDehydrated)if(f={element:s,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){u=Wr(Error(o(423)),n),n=rf(e,n,s,i,u);break e}else if(s!==u){u=Wr(Error(o(424)),n),n=rf(e,n,s,i,u);break e}else for(Pt=In(n.stateNode.containerInfo.firstChild),Mt=n,Fe=!0,Vt=null,i=gd(n,null,s,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Fr(),s===u){n=yn(e,n,i);break e}ht(e,n,s,i)}n=n.child}return n;case 5:return wd(n),e===null&&ya(n),s=n.type,u=n.pendingProps,f=e!==null?e.memoizedProps:null,w=u.children,aa(s,u)?w=null:f!==null&&aa(s,f)&&(n.flags|=32),ef(e,n),ht(e,n,w,i),n.child;case 6:return e===null&&ya(n),null;case 13:return of(e,n,i);case 4:return Na(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=Hr(n,null,s,i):ht(e,n,s,i),n.child;case 11:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Bt(s,u),Gd(e,n,s,u,i);case 7:return ht(e,n,n.pendingProps,i),n.child;case 8:return ht(e,n,n.pendingProps.children,i),n.child;case 12:return ht(e,n,n.pendingProps.children,i),n.child;case 10:e:{if(s=n.type._context,u=n.pendingProps,f=n.memoizedProps,w=u.value,$e(ss,s._currentValue),s._currentValue=w,f!==null)if(Ht(f.value,w)){if(f.children===u.children&&!gt.current){n=yn(e,n,i);break e}}else for(f=n.child,f!==null&&(f.return=n);f!==null;){var I=f.dependencies;if(I!==null){w=f.child;for(var R=I.firstContext;R!==null;){if(R.context===s){if(f.tag===1){R=mn(-1,i&-i),R.tag=2;var G=f.updateQueue;if(G!==null){G=G.shared;var oe=G.pending;oe===null?R.next=R:(R.next=oe.next,oe.next=R),G.pending=R}}f.lanes|=i,R=f.alternate,R!==null&&(R.lanes|=i),_a(f.return,i,n),I.lanes|=i;break}R=R.next}}else if(f.tag===10)w=f.type===n.type?null:f.child;else if(f.tag===18){if(w=f.return,w===null)throw Error(o(341));w.lanes|=i,I=w.alternate,I!==null&&(I.lanes|=i),_a(w,i,n),w=f.sibling}else w=f.child;if(w!==null)w.return=f;else for(w=f;w!==null;){if(w===n){w=null;break}if(f=w.sibling,f!==null){f.return=w.return,w=f;break}w=w.return}f=w}ht(e,n,u.children,i),n=n.child}return n;case 9:return u=n.type,s=n.pendingProps.children,Br(n,i),u=Dt(u),s=s(u),n.flags|=1,ht(e,n,s,i),n.child;case 14:return s=n.type,u=Bt(s,n.pendingProps),u=Bt(s.type,u),qd(e,n,s,u,i);case 15:return Zd(e,n,n.type,n.pendingProps,i);case 17:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Bt(s,u),vs(e,n),n.tag=1,mt(s)?(e=!0,es(n)):e=!1,Br(n,i),Bd(n,s,u),Oa(n,s,u,i),Va(null,n,s,!0,e,i);case 19:return lf(e,n,i);case 22:return Jd(e,n,i)}throw Error(o(156,n.tag))};function Tf(e,n){return Io(e,n)}function v0(e,n,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ft(e,n,i,s){return new v0(e,n,i,s)}function au(e){return e=e.prototype,!(!e||!e.isReactComponent)}function x0(e){if(typeof e=="function")return au(e)?1:0;if(e!=null){if(e=e.$$typeof,e===te)return 11;if(e===B)return 14}return 2}function Hn(e,n){var i=e.alternate;return i===null?(i=Ft(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ps(e,n,i,s,u,f){var w=2;if(s=e,typeof e=="function")au(e)&&(w=1);else if(typeof e=="string")w=5;else e:switch(e){case H:return dr(i.children,u,f,n);case X:w=8,u|=8;break;case K:return e=Ft(12,i,n,u|2),e.elementType=K,e.lanes=f,e;case J:return e=Ft(13,i,n,u),e.elementType=J,e.lanes=f,e;case C:return e=Ft(19,i,n,u),e.elementType=C,e.lanes=f,e;case V:return Is(i,u,f,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ne:w=10;break e;case Z:w=9;break e;case te:w=11;break e;case B:w=14;break e;case F:w=16,s=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return n=Ft(w,i,n,u),n.elementType=e,n.type=s,n.lanes=f,n}function dr(e,n,i,s){return e=Ft(7,e,s,n),e.lanes=i,e}function Is(e,n,i,s){return e=Ft(22,e,s,n),e.elementType=V,e.lanes=i,e.stateNode={isHidden:!1},e}function uu(e,n,i){return e=Ft(6,e,null,n),e.lanes=i,e}function cu(e,n,i){return n=Ft(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function w0(e,n,i,s,u){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Zn(0),this.expirationTimes=Zn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Zn(0),this.identifierPrefix=s,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function du(e,n,i,s,u,f,w,I,R){return e=new w0(e,n,i,I,R),n===1?(n=1,f===!0&&(n|=8)):n=0,f=Ft(3,null,null,n),e.current=f,f.stateNode=e,f.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ea(f),e}function S0(e,n,i){var s=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),yu.exports=R0(),yu.exports}var Wf;function L0(){if(Wf)return Ds;Wf=1;var t=rp();return Ds.createRoot=t.createRoot,Ds.hydrateRoot=t.hydrateRoot,Ds}var A0=L0();async function Tt(t,r){const o=await fetch(t,{...r,headers:{"Content-Type":"application/json",...(r==null?void 0:r.headers)||{}}});if(!o.ok){const l=await o.text();throw new Error(l||o.statusText)}return o.json()}const St={health:()=>Tt("/api/health"),settings:()=>Tt("/api/settings"),saveSettings:t=>Tt("/api/settings",{method:"PUT",body:JSON.stringify(t)}),repos:()=>Tt("/api/repos"),index:(t,r=!0)=>Tt("/api/index",{method:"POST",body:JSON.stringify({repo_path:t,incremental:r})}),indexStatus:t=>Tt(`/api/index?repo_path=${encodeURIComponent(t)}`),architecture:t=>Tt(`/api/architecture?repo_path=${encodeURIComponent(t)}`),review:(t,r,o,l=!0)=>Tt("/api/review",{method:"POST",body:JSON.stringify({repo_path:t,base:r,head:o||null,reindex:l,incremental:!0,three_dot:!0})}),init:(t,r=!1)=>Tt("/api/init",{method:"POST",body:JSON.stringify({repo_path:t,overwrite:r})}),postComment:(t,r,o,l)=>Tt("/api/prs/comment",{method:"POST",body:JSON.stringify({provider:t,repo:r,number:o,markdown:l})}),graph:(t,r="full")=>Tt(`/api/graph?repo_path=${encodeURIComponent(t)}&scope=${r}`),prs:(t,r,o="open")=>Tt("/api/prs",{method:"POST",body:JSON.stringify({provider:t,repo:r,state:o})}),residual:t=>Tt("/api/ai/residual",{method:"POST",body:JSON.stringify({review:t})})};function $0(t){return t.replaceAll("_"," ")}function Qu(t){return t.split(".").pop()||t}function D0(t){if(!t)return"";const r=new Date(t);return Number.isNaN(r.getTime())?t:r.toLocaleString()}function O0(t){return t.split(/[\\/]/).filter(Boolean).pop()||t}function ho({className:t,children:r}){return x.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r})}function b0({className:t}){return x.jsxs(ho,{className:t,children:[x.jsx("path",{d:"M3 3.5h6.5L13 7v5.5H3z"}),x.jsx("path",{d:"M9.5 3.5V7H13"}),x.jsx("path",{d:"M5.5 9.5h5M5.5 11.5h3.5"})]})}function F0({className:t}){return x.jsxs(ho,{className:t,children:[x.jsx("rect",{x:"2.5",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),x.jsx("rect",{x:"9",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),x.jsx("rect",{x:"2.5",y:"9",width:"4.5",height:"4.5",rx:"0.8"}),x.jsx("rect",{x:"9",y:"9",width:"4.5",height:"4.5",rx:"0.8"})]})}function H0({className:t}){return x.jsxs(ho,{className:t,children:[x.jsx("circle",{cx:"4",cy:"8",r:"1.6"}),x.jsx("circle",{cx:"12",cy:"4",r:"1.6"}),x.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),x.jsx("path",{d:"M5.5 7.2 10.4 4.8M5.5 8.8 10.4 11.2"})]})}function V0({className:t}){return x.jsxs(ho,{className:t,children:[x.jsx("circle",{cx:"4.5",cy:"4",r:"1.4"}),x.jsx("circle",{cx:"4.5",cy:"12",r:"1.4"}),x.jsx("circle",{cx:"11.5",cy:"12",r:"1.4"}),x.jsx("path",{d:"M4.5 5.5v5M4.5 8h4.2a3 3 0 0 1 3 3"})]})}function B0({className:t}){return x.jsxs(ho,{className:t,children:[x.jsx("circle",{cx:"8",cy:"8",r:"2.1"}),x.jsx("path",{d:"M8 2.5v1.6M8 11.9v1.6M2.5 8h1.6M11.9 8h1.6M4.1 4.1l1.1 1.1M10.8 10.8l1.1 1.1M11.9 4.1l-1.1 1.1M5.2 10.8l-1.1 1.1"})]})}function Qe(t){if(typeof t=="string"||typeof t=="number")return""+t;let r="";if(Array.isArray(t))for(let o=0,l;o{}};function dl(){for(var t=0,r=arguments.length,o={},l;t=0&&(l=o.slice(a+1),o=o.slice(0,a)),o&&!r.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:l}})}Xs.prototype=dl.prototype={constructor:Xs,on:function(t,r){var o=this._,l=W0(t+"",o),a,c=-1,d=l.length;if(arguments.length<2){for(;++c0)for(var o=new Array(a),l=0,a,c;l=0&&(r=t.slice(0,o))!=="xmlns"&&(t=t.slice(o+1)),Xf.hasOwnProperty(r)?{space:Xf[r],local:t}:t}function X0(t){return function(){var r=this.ownerDocument,o=this.namespaceURI;return o===Lu&&r.documentElement.namespaceURI===Lu?r.createElement(t):r.createElementNS(o,t)}}function Q0(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ip(t){var r=fl(t);return(r.local?Q0:X0)(r)}function K0(){}function Ku(t){return t==null?K0:function(){return this.querySelector(t)}}function G0(t){typeof t!="function"&&(t=Ku(t));for(var r=this._groups,o=r.length,l=new Array(o),a=0;a=N&&(N=z+1);!(b=k[N])&&++N<_;);P._next=b||null}}return d=new Rt(d,l),d._enter=h,d._exit=p,d}function my(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function yy(){return new Rt(this._exit||this._groups.map(ap),this._parents)}function vy(t,r,o){var l=this.enter(),a=this,c=this.exit();return typeof t=="function"?(l=t(l),l&&(l=l.selection())):l=l.append(t+""),r!=null&&(a=r(a),a&&(a=a.selection())),o==null?c.remove():o(c),l&&a?l.merge(a).order():a}function xy(t){for(var r=t.selection?t.selection():t,o=this._groups,l=r._groups,a=o.length,c=l.length,d=Math.min(a,c),h=new Array(a),p=0;p=0;)(d=l[a])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function Sy(t){t||(t=_y);function r(v,g){return v&&g?t(v.__data__,g.__data__):!v-!g}for(var o=this._groups,l=o.length,a=new Array(l),c=0;cr?1:t>=r?0:NaN}function ky(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Ey(){return Array.from(this)}function Ny(){for(var t=this._groups,r=0,o=t.length;r1?this.each((r==null?$y:typeof r=="function"?Oy:Dy)(t,r,o??"")):ei(this.node(),t)}function ei(t,r){return t.style.getPropertyValue(r)||up(t).getComputedStyle(t,null).getPropertyValue(r)}function Fy(t){return function(){delete this[t]}}function Hy(t,r){return function(){this[t]=r}}function Vy(t,r){return function(){var o=r.apply(this,arguments);o==null?delete this[t]:this[t]=o}}function By(t,r){return arguments.length>1?this.each((r==null?Fy:typeof r=="function"?Vy:Hy)(t,r)):this.node()[t]}function cp(t){return t.trim().split(/^|\s+/)}function Gu(t){return t.classList||new dp(t)}function dp(t){this._node=t,this._names=cp(t.getAttribute("class")||"")}dp.prototype={add:function(t){var r=this._names.indexOf(t);r<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var r=this._names.indexOf(t);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function fp(t,r){for(var o=Gu(t),l=-1,a=r.length;++l=0&&(o=r.slice(l+1),r=r.slice(0,l)),{type:r,name:o}})}function yv(t){return function(){var r=this.__on;if(r){for(var o=0,l=-1,a=r.length,c;o()=>t;function Au(t,{sourceEvent:r,subject:o,target:l,identifier:a,active:c,x:d,y:h,dx:p,dy:y,dispatch:m}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:y,enumerable:!0,configurable:!0},_:{value:m}})}Au.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function jv(t){return!t.ctrlKey&&!t.button}function Mv(){return this.parentNode}function Pv(t,r){return r??{x:t.x,y:t.y}}function Iv(){return navigator.maxTouchPoints||"ontouchstart"in this}function vp(){var t=jv,r=Mv,o=Pv,l=Iv,a={},c=dl("start","drag","end"),d=0,h,p,y,m,v=0;function g(P){P.on("mousedown.drag",S).filter(l).on("touchstart.drag",k).on("touchmove.drag",E,Cv).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(P,b){if(!(m||!t.call(this,P,b))){var $=N(this,r.call(this,P,b),P,b,"mouse");$&&(zt(P.view).on("mousemove.drag",_,no).on("mouseup.drag",M,no),mp(P.view),wu(P),y=!1,h=P.clientX,p=P.clientY,$("start",P))}}function _(P){if(Zr(P),!y){var b=P.clientX-h,$=P.clientY-p;y=b*b+$*$>v}a.mouse("drag",P)}function M(P){zt(P.view).on("mousemove.drag mouseup.drag",null),yp(P.view,y),Zr(P),a.mouse("end",P)}function k(P,b){if(t.call(this,P,b)){var $=P.changedTouches,H=r.call(this,P,b),X=$.length,K,ne;for(K=0;K>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):o===8?bs(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):o===4?bs(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=zv.exec(t))?new _t(r[1],r[2],r[3],1):(r=Rv.exec(t))?new _t(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=Lv.exec(t))?bs(r[1],r[2],r[3],r[4]):(r=Av.exec(t))?bs(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=$v.exec(t))?eh(r[1],r[2]/100,r[3]/100,1):(r=Dv.exec(t))?eh(r[1],r[2]/100,r[3]/100,r[4]):Qf.hasOwnProperty(t)?qf(Qf[t]):t==="transparent"?new _t(NaN,NaN,NaN,0):null}function qf(t){return new _t(t>>16&255,t>>8&255,t&255,1)}function bs(t,r,o,l){return l<=0&&(t=r=o=NaN),new _t(t,r,o,l)}function Fv(t){return t instanceof go||(t=mr(t)),t?(t=t.rgb(),new _t(t.r,t.g,t.b,t.opacity)):new _t}function $u(t,r,o,l){return arguments.length===1?Fv(t):new _t(t,r,o,l??1)}function _t(t,r,o,l){this.r=+t,this.g=+r,this.b=+o,this.opacity=+l}qu(_t,$u,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new _t(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new _t(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new _t(pr(this.r),pr(this.g),pr(this.b),el(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:Zf,formatHex:Zf,formatHex8:Hv,formatRgb:Jf,toString:Jf}));function Zf(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}`}function Hv(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}${hr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jf(){const t=el(this.opacity);return`${t===1?"rgb(":"rgba("}${pr(this.r)}, ${pr(this.g)}, ${pr(this.b)}${t===1?")":`, ${t})`}`}function el(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function hr(t){return t=pr(t),(t<16?"0":"")+t.toString(16)}function eh(t,r,o,l){return l<=0?t=r=o=NaN:o<=0||o>=1?t=r=NaN:r<=0&&(t=NaN),new Qt(t,r,o,l)}function wp(t){if(t instanceof Qt)return new Qt(t.h,t.s,t.l,t.opacity);if(t instanceof go||(t=mr(t)),!t)return new Qt;if(t instanceof Qt)return t;t=t.rgb();var r=t.r/255,o=t.g/255,l=t.b/255,a=Math.min(r,o,l),c=Math.max(r,o,l),d=NaN,h=c-a,p=(c+a)/2;return h?(r===c?d=(o-l)/h+(o0&&p<1?0:d,new Qt(d,h,p,t.opacity)}function Vv(t,r,o,l){return arguments.length===1?wp(t):new Qt(t,r,o,l??1)}function Qt(t,r,o,l){this.h=+t,this.s=+r,this.l=+o,this.opacity=+l}qu(Qt,Vv,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new Qt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new Qt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,r=isNaN(t)||isNaN(this.s)?0:this.s,o=this.l,l=o+(o<.5?o:1-o)*r,a=2*o-l;return new _t(Su(t>=240?t-240:t+120,a,l),Su(t,a,l),Su(t<120?t+240:t-120,a,l),this.opacity)},clamp(){return new Qt(th(this.h),Fs(this.s),Fs(this.l),el(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=el(this.opacity);return`${t===1?"hsl(":"hsla("}${th(this.h)}, ${Fs(this.s)*100}%, ${Fs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function th(t){return t=(t||0)%360,t<0?t+360:t}function Fs(t){return Math.max(0,Math.min(1,t||0))}function Su(t,r,o){return(t<60?r+(o-r)*t/60:t<180?o:t<240?r+(o-r)*(240-t)/60:r)*255}const Zu=t=>()=>t;function Bv(t,r){return function(o){return t+o*r}}function Uv(t,r,o){return t=Math.pow(t,o),r=Math.pow(r,o)-t,o=1/o,function(l){return Math.pow(t+l*r,o)}}function Wv(t){return(t=+t)==1?Sp:function(r,o){return o-r?Uv(r,o,t):Zu(isNaN(r)?o:r)}}function Sp(t,r){var o=r-t;return o?Bv(t,o):Zu(isNaN(t)?r:t)}const tl=(function t(r){var o=Wv(r);function l(a,c){var d=o((a=$u(a)).r,(c=$u(c)).r),h=o(a.g,c.g),p=o(a.b,c.b),y=Sp(a.opacity,c.opacity);return function(m){return a.r=d(m),a.g=h(m),a.b=p(m),a.opacity=y(m),a+""}}return l.gamma=t,l})(1);function Yv(t,r){r||(r=[]);var o=t?Math.min(r.length,t.length):0,l=r.slice(),a;return function(c){for(a=0;ao&&(c=r.slice(o,c),h[d]?h[d]+=c:h[++d]=c),(l=l[0])===(a=a[0])?h[d]?h[d]+=a:h[++d]=a:(h[++d]=null,p.push({i:d,x:sn(l,a)})),o=_u.lastIndex;return o180?m+=360:m-y>180&&(y+=360),g.push({i:v.push(a(v)+"rotate(",null,l)-2,x:sn(y,m)})):m&&v.push(a(v)+"rotate("+m+l)}function h(y,m,v,g){y!==m?g.push({i:v.push(a(v)+"skewX(",null,l)-2,x:sn(y,m)}):m&&v.push(a(v)+"skewX("+m+l)}function p(y,m,v,g,S,_){if(y!==v||m!==g){var M=S.push(a(S)+"scale(",null,",",null,")");_.push({i:M-4,x:sn(y,v)},{i:M-2,x:sn(m,g)})}else(v!==1||g!==1)&&S.push(a(S)+"scale("+v+","+g+")")}return function(y,m){var v=[],g=[];return y=t(y),m=t(m),c(y.translateX,y.translateY,m.translateX,m.translateY,v,g),d(y.rotate,m.rotate,v,g),h(y.skewX,m.skewX,v,g),p(y.scaleX,y.scaleY,m.scaleX,m.scaleY,v,g),y=m=null,function(S){for(var _=-1,M=g.length,k;++_=0&&t._call.call(void 0,r),t=t._next;--ti}function ih(){yr=(rl=oo.now())+hl,ti=Zi=0;try{lx()}finally{ti=0,ux(),yr=0}}function ax(){var t=oo.now(),r=t-rl;r>Np&&(hl-=r,rl=t)}function ux(){for(var t,r=nl,o,l=1/0;r;)r._call?(l>r._time&&(l=r._time),t=r,r=r._next):(o=r._next,r._next=null,r=t?t._next=o:nl=o);Ji=t,bu(l)}function bu(t){if(!ti){Zi&&(Zi=clearTimeout(Zi));var r=t-yr;r>24?(t<1/0&&(Zi=setTimeout(ih,t-oo.now()-hl)),Gi&&(Gi=clearInterval(Gi))):(Gi||(rl=oo.now(),Gi=setInterval(ax,Np)),ti=1,Cp(ih))}}function oh(t,r,o){var l=new il;return r=r==null?0:+r,l.restart(a=>{l.stop(),t(a+r)},r,o),l}var cx=dl("start","end","cancel","interrupt"),dx=[],Mp=0,sh=1,Fu=2,Ks=3,lh=4,Hu=5,Gs=6;function pl(t,r,o,l,a,c){var d=t.__transition;if(!d)t.__transition={};else if(o in d)return;fx(t,o,{name:r,index:l,group:a,on:cx,tween:dx,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Mp})}function ec(t,r){var o=Zt(t,r);if(o.state>Mp)throw new Error("too late; already scheduled");return o}function an(t,r){var o=Zt(t,r);if(o.state>Ks)throw new Error("too late; already running");return o}function Zt(t,r){var o=t.__transition;if(!o||!(o=o[r]))throw new Error("transition not found");return o}function fx(t,r,o){var l=t.__transition,a;l[r]=o,o.timer=jp(c,0,o.time);function c(y){o.state=sh,o.timer.restart(d,o.delay,o.time),o.delay<=y&&d(y-o.delay)}function d(y){var m,v,g,S;if(o.state!==sh)return p();for(m in l)if(S=l[m],S.name===o.name){if(S.state===Ks)return oh(d);S.state===lh?(S.state=Gs,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete l[m]):+mFu&&l.state=0&&(r=r.slice(0,o)),!r||r==="start"})}function Vx(t,r,o){var l,a,c=Hx(r)?ec:an;return function(){var d=c(this,t),h=d.on;h!==l&&(a=(l=h).copy()).on(r,o),d.on=a}}function Bx(t,r){var o=this._id;return arguments.length<2?Zt(this.node(),o).on.on(t):this.each(Vx(o,t,r))}function Ux(t){return function(){var r=this.parentNode;for(var o in this.__transition)if(+o!==t)return;r&&r.removeChild(this)}}function Wx(){return this.on("end.remove",Ux(this._id))}function Yx(t){var r=this._name,o=this._id;typeof t!="function"&&(t=Ku(t));for(var l=this._groups,a=l.length,c=new Array(a),d=0;d()=>t;function yw(t,{sourceEvent:r,target:o,transform:l,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:a}})}function wn(t,r,o){this.k=t,this.x=r,this.y=o}wn.prototype={constructor:wn,scale:function(t){return t===1?this:new wn(this.k*t,this.x,this.y)},translate:function(t,r){return t===0&r===0?this:new wn(this.k,this.x+this.k*t,this.y+this.k*r)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var gl=new wn(1,0,0);zp.prototype=wn.prototype;function zp(t){for(;!t.__zoom;)if(!(t=t.parentNode))return gl;return t.__zoom}function ku(t){t.stopImmediatePropagation()}function qi(t){t.preventDefault(),t.stopImmediatePropagation()}function vw(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function xw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function ah(){return this.__zoom||gl}function ww(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Sw(){return navigator.maxTouchPoints||"ontouchstart"in this}function _w(t,r,o){var l=t.invertX(r[0][0])-o[0][0],a=t.invertX(r[1][0])-o[1][0],c=t.invertY(r[0][1])-o[0][1],d=t.invertY(r[1][1])-o[1][1];return t.translate(a>l?(l+a)/2:Math.min(0,l)||Math.max(0,a),d>c?(c+d)/2:Math.min(0,c)||Math.max(0,d))}function Rp(){var t=vw,r=xw,o=_w,l=ww,a=Sw,c=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],h=250,p=Qs,y=dl("start","zoom","end"),m,v,g,S=500,_=150,M=0,k=10;function E(C){C.property("__zoom",ah).on("wheel.zoom",X,{passive:!1}).on("mousedown.zoom",K).on("dblclick.zoom",ne).filter(a).on("touchstart.zoom",Z).on("touchmove.zoom",te).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(C,B,F,V){var A=C.selection?C.selection():C;A.property("__zoom",ah),C!==A?b(C,B,F,V):A.interrupt().each(function(){$(this,arguments).event(V).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},E.scaleBy=function(C,B,F,V){E.scaleTo(C,function(){var A=this.__zoom.k,L=typeof B=="function"?B.apply(this,arguments):B;return A*L},F,V)},E.scaleTo=function(C,B,F,V){E.transform(C,function(){var A=r.apply(this,arguments),L=this.__zoom,O=F==null?P(A):typeof F=="function"?F.apply(this,arguments):F,j=L.invert(O),T=typeof B=="function"?B.apply(this,arguments):B;return o(N(z(L,T),O,j),A,d)},F,V)},E.translateBy=function(C,B,F,V){E.transform(C,function(){return o(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof F=="function"?F.apply(this,arguments):F),r.apply(this,arguments),d)},null,V)},E.translateTo=function(C,B,F,V,A){E.transform(C,function(){var L=r.apply(this,arguments),O=this.__zoom,j=V==null?P(L):typeof V=="function"?V.apply(this,arguments):V;return o(gl.translate(j[0],j[1]).scale(O.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof F=="function"?-F.apply(this,arguments):-F),L,d)},V,A)};function z(C,B){return B=Math.max(c[0],Math.min(c[1],B)),B===C.k?C:new wn(B,C.x,C.y)}function N(C,B,F){var V=B[0]-F[0]*C.k,A=B[1]-F[1]*C.k;return V===C.x&&A===C.y?C:new wn(C.k,V,A)}function P(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function b(C,B,F,V){C.on("start.zoom",function(){$(this,arguments).event(V).start()}).on("interrupt.zoom end.zoom",function(){$(this,arguments).event(V).end()}).tween("zoom",function(){var A=this,L=arguments,O=$(A,L).event(V),j=r.apply(A,L),T=F==null?P(j):typeof F=="function"?F.apply(A,L):F,ee=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),re=A.__zoom,ue=typeof B=="function"?B.apply(A,L):B,de=p(re.invert(T).concat(ee/re.k),ue.invert(T).concat(ee/ue.k));return function(ce){if(ce===1)ce=ue;else{var Q=de(ce),se=ee/Q[2];ce=new wn(se,T[0]-Q[0]*se,T[1]-Q[1]*se)}O.zoom(null,ce)}})}function $(C,B,F){return!F&&C.__zooming||new H(C,B)}function H(C,B){this.that=C,this.args=B,this.active=0,this.sourceEvent=null,this.extent=r.apply(C,B),this.taps=0}H.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,B){return this.mouse&&C!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var B=zt(this.that).datum();y.call(C,this.that,new yw(C,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:y}),B)}};function X(C,...B){if(!t.apply(this,arguments))return;var F=$(this,B).event(C),V=this.__zoom,A=Math.max(c[0],Math.min(c[1],V.k*Math.pow(2,l.apply(this,arguments)))),L=Xt(C);if(F.wheel)(F.mouse[0][0]!==L[0]||F.mouse[0][1]!==L[1])&&(F.mouse[1]=V.invert(F.mouse[0]=L)),clearTimeout(F.wheel);else{if(V.k===A)return;F.mouse=[L,V.invert(L)],qs(this),F.start()}qi(C),F.wheel=setTimeout(O,_),F.zoom("mouse",o(N(z(V,A),F.mouse[0],F.mouse[1]),F.extent,d));function O(){F.wheel=null,F.end()}}function K(C,...B){if(g||!t.apply(this,arguments))return;var F=C.currentTarget,V=$(this,B,!0).event(C),A=zt(C.view).on("mousemove.zoom",T,!0).on("mouseup.zoom",ee,!0),L=Xt(C,F),O=C.clientX,j=C.clientY;mp(C.view),ku(C),V.mouse=[L,this.__zoom.invert(L)],qs(this),V.start();function T(re){if(qi(re),!V.moved){var ue=re.clientX-O,de=re.clientY-j;V.moved=ue*ue+de*de>M}V.event(re).zoom("mouse",o(N(V.that.__zoom,V.mouse[0]=Xt(re,F),V.mouse[1]),V.extent,d))}function ee(re){A.on("mousemove.zoom mouseup.zoom",null),yp(re.view,V.moved),qi(re),V.event(re).end()}}function ne(C,...B){if(t.apply(this,arguments)){var F=this.__zoom,V=Xt(C.changedTouches?C.changedTouches[0]:C,this),A=F.invert(V),L=F.k*(C.shiftKey?.5:2),O=o(N(z(F,L),V,A),r.apply(this,B),d);qi(C),h>0?zt(this).transition().duration(h).call(b,O,V,C):zt(this).call(E.transform,O,V,C)}}function Z(C,...B){if(t.apply(this,arguments)){var F=C.touches,V=F.length,A=$(this,B,C.changedTouches.length===V).event(C),L,O,j,T;for(ku(C),O=0;O`Seems like you have not used ${t==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:r,sourceHandle:o,targetHandle:l})=>`Couldn't create edge for ${t} handle id: "${t==="source"?o:l}", edge id: ${r}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},so=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Lp=["Enter"," ","Escape"],Ap={"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:t,x:r,y:o})=>`Moved selected node ${t}. New position, x: ${r}, y: ${o}`,"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"};var ni;(function(t){t.Strict="strict",t.Loose="loose"})(ni||(ni={}));var gr;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(gr||(gr={}));var lo;(function(t){t.Partial="partial",t.Full="full"})(lo||(lo={}));const $p={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Yn;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Yn||(Yn={}));var ol;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(ol||(ol={}));var _e;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(_e||(_e={}));const uh={[_e.Left]:_e.Right,[_e.Right]:_e.Left,[_e.Top]:_e.Bottom,[_e.Bottom]:_e.Top};function Dp(t){return t===null?null:t?"valid":"invalid"}const Op=t=>!!t&&typeof t=="object"&&"id"in t&&"source"in t&&"target"in t,kw=t=>!!t&&typeof t=="object"&&"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),nc=t=>!!t&&typeof t=="object"&&"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),mo=(t,r=[0,0])=>{const{width:o,height:l}=Jt(t),a=t.origin??r,c=o*a[0],d=l*a[1];return{x:t.position.x-c,y:t.position.y-d}},Ew=(t,r={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let o=!1;const l=t.reduce((a,c)=>{const d=typeof c=="string";let h=!r.nodeLookup&&!d?c:void 0;return r.nodeLookup&&(h=d?r.nodeLookup.get(c):nc(c)?c:r.nodeLookup.get(c.id)),h?(o=!0,ml(a,sl(h,r.nodeOrigin))):a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return o?yl(l):{x:0,y:0,width:0,height:0}},yo=(t,r={})=>{let o={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return t.forEach(a=>{(r.filter===void 0||r.filter(a))&&(o=ml(o,sl(a)),l=!0)}),l?yl(o):{x:0,y:0,width:0,height:0}},rc=(t,r,[o,l,a]=[0,0,1],c=!1,d=!1)=>{const h=(r.x-o)/a,p=(r.y-l)/a,y=r.width/a,m=r.height/a,v=[];for(const g of t.values()){const{measured:S,selectable:_=!0,hidden:M=!1}=g;if(d&&!_||M)continue;const k=S.width??g.width??g.initialWidth??0,E=S.height??g.height??g.initialHeight??0,{x:z,y:N}=g.internals.positionAbsolute,P=Vp(h,p,y,m,z,N,k,E),b=k*E,$=c&&P>0;(!g.internals.handleBounds||$||P>=b||g.dragging)&&v.push(g)}return v},Nw=(t,r)=>{const o=new Set;return t.forEach(l=>{o.add(l.id)}),r.filter(l=>o.has(l.source)||o.has(l.target))};function Cw(t,r){const o=new Map,l=r!=null&&r.nodes?new Set(r.nodes.map(a=>a.id)):null;return t.forEach(a=>{let c;if(r!=null&&r.includeHiddenNodes){const{width:d,height:h}=Jt(a);c=d>0&&h>0}else c=!!(a.measured.width&&a.measured.height&&!a.hidden);c&&(!l||l.has(a.id))&&o.set(a.id,a)}),o}async function jw({nodes:t,width:r,height:o,panZoom:l,minZoom:a,maxZoom:c},d){if(t.size===0)return!0;const h=Cw(t,d),p=yo(h),y=oc(p,r,o,(d==null?void 0:d.minZoom)??a,(d==null?void 0:d.maxZoom)??c,(d==null?void 0:d.padding)??.1);return await l.setViewport(y,{duration:d==null?void 0:d.duration,ease:d==null?void 0:d.ease,interpolate:d==null?void 0:d.interpolate}),!0}function bp({nodeId:t,nextPosition:r,nodeLookup:o,nodeOrigin:l=[0,0],nodeExtent:a,onError:c}){const d=o.get(t),h=d.parentId?o.get(d.parentId):void 0,{x:p,y}=h?h.internals.positionAbsolute:{x:0,y:0},m=d.origin??l;let v=d.extent||a;if(d.extent==="parent"&&!d.expandParent)if(!h)c==null||c("005",qt.error005());else{const{width:S,height:_}=Jt(h);S&&_&&(v=[[p,y],[p+S,y+_]])}else h&&xr(d.extent)&&(v=[[d.extent[0][0]+p,d.extent[0][1]+y],[d.extent[1][0]+p,d.extent[1][1]+y]]);const g=xr(v)?vr(r,v,d.measured):r;return(d.measured.width===void 0||d.measured.height===void 0)&&(c==null||c("015",qt.error015())),{position:{x:g.x-p+(d.measured.width??0)*m[0],y:g.y-y+(d.measured.height??0)*m[1]},positionAbsolute:g}}async function Mw({nodesToRemove:t=[],edgesToRemove:r=[],nodes:o,edges:l,onBeforeDelete:a}){const c=new Set(t.map(g=>g.id)),d=[];for(const g of o){if(g.deletable===!1)continue;const S=c.has(g.id),_=!S&&g.parentId&&d.find(M=>M.id===g.parentId);(S||_)&&d.push(g)}const h=new Set(r.map(g=>g.id)),p=l.filter(g=>g.deletable!==!1),m=Nw(d,p);for(const g of p)h.has(g.id)&&!m.find(_=>_.id===g.id)&&m.push(g);if(!a)return{edges:m,nodes:d};const v=await a({nodes:d,edges:m});return typeof v=="boolean"?v?{edges:m,nodes:d}:{edges:[],nodes:[]}:v}const ri=(t,r=0,o=1)=>Math.min(Math.max(t,r),o),vr=(t={x:0,y:0},r,o)=>({x:ri(t.x,r[0][0],r[1][0]-((o==null?void 0:o.width)??0)),y:ri(t.y,r[0][1],r[1][1]-((o==null?void 0:o.height)??0))});function Fp(t,r,o){const{width:l,height:a}=Jt(o),{x:c,y:d}=o.internals.positionAbsolute;return vr(t,[[c,d],[c+l,d+a]],r)}const ch=(t,r,o)=>to?-ri(Math.abs(t-o),1,r)/r:0,ic=(t,r,o=15,l=40)=>{const a=ch(t.x,l,r.width-l)*o,c=ch(t.y,l,r.height-l)*o;return[a,c]},ml=(t,r)=>({x:Math.min(t.x,r.x),y:Math.min(t.y,r.y),x2:Math.max(t.x2,r.x2),y2:Math.max(t.y2,r.y2)}),Vu=({x:t,y:r,width:o,height:l})=>({x:t,y:r,x2:t+o,y2:r+l}),yl=({x:t,y:r,x2:o,y2:l})=>({x:t,y:r,width:o-t,height:l-r}),ao=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,width:((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0,height:((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0}},sl=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,x2:o+(((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0),y2:l+(((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0)}},Hp=(t,r)=>yl(ml(Vu(t),Vu(r))),Vp=(t,r,o,l,a,c,d,h)=>{const p=Math.max(0,Math.min(t+o,a+d)-Math.max(t,a)),y=Math.max(0,Math.min(r+l,c+h)-Math.max(r,c));return Math.ceil(p*y)},ll=(t,r)=>Vp(t.x,t.y,t.width,t.height,r.x,r.y,r.width,r.height),dh=t=>Kt(t.width)&&Kt(t.height)&&Kt(t.x)&&Kt(t.y),Kt=t=>!isNaN(t)&&isFinite(t),Bp=(t,r)=>(o,l)=>{},vo=(t,r=[1,1])=>({x:r[0]*Math.round(t.x/r[0]),y:r[1]*Math.round(t.y/r[1])}),xo=({x:t,y:r},[o,l,a],c=!1,d=[1,1])=>{const h={x:(t-o)/a,y:(r-l)/a};return c?vo(h,d):h},ii=({x:t,y:r},[o,l,a])=>({x:t*a+o,y:r*a+l});function Gr(t,r){if(typeof t=="number")return Math.floor((r-r/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(o)}if(typeof t=="string"&&t.endsWith("%")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(r*o*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Pw(t,r,o){if(typeof t=="string"||typeof t=="number"){const l=Gr(t,o),a=Gr(t,r);return{top:l,right:a,bottom:l,left:a,x:a*2,y:l*2}}if(typeof t=="object"){const l=Gr(t.top??t.y??0,o),a=Gr(t.bottom??t.y??0,o),c=Gr(t.left??t.x??0,r),d=Gr(t.right??t.x??0,r);return{top:l,right:d,bottom:a,left:c,x:c+d,y:l+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Iw(t,r,o,l,a,c){const{x:d,y:h}=ii(t,[r,o,l]),{x:p,y}=ii({x:t.x+t.width,y:t.y+t.height},[r,o,l]),m=a-p,v=c-y;return{left:Math.floor(d),top:Math.floor(h),right:Math.floor(m),bottom:Math.floor(v)}}const oc=(t,r,o,l,a,c)=>{const d=Pw(c,r,o),h=(r-d.x)/t.width,p=(o-d.y)/t.height,y=Math.min(h,p),m=ri(y,l,a),v=t.x+t.width/2,g=t.y+t.height/2,S=r/2-v*m,_=o/2-g*m,M=Iw(t,S,_,m,r,o),k={left:Math.min(M.left-d.left,0),top:Math.min(M.top-d.top,0),right:Math.min(M.right-d.right,0),bottom:Math.min(M.bottom-d.bottom,0)};return{x:S-k.left+k.right,y:_-k.top+k.bottom,zoom:m}},uo=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0};function xr(t){return t!=null&&t!=="parent"}function Jt(t){var r,o;return{width:((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth??0,height:((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight??0}}function Up(t){var r,o;return(((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth)!==void 0&&(((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight)!==void 0}function Wp(t,r={width:0,height:0},o,l,a){const c={...t},d=l.get(o);if(d){const h=d.origin||a;c.x+=d.internals.positionAbsolute.x-(r.width??0)*h[0],c.y+=d.internals.positionAbsolute.y-(r.height??0)*h[1]}return c}function fh(t,r){if(t.size!==r.size)return!1;for(const o of t)if(!r.has(o))return!1;return!0}function Tw(){let t,r;return{promise:new Promise((l,a)=>{t=l,r=a}),resolve:t,reject:r}}function zw(t){return{...Ap,...t||{}}}function to(t,{snapGrid:r=[0,0],snapToGrid:o=!1,transform:l,containerBounds:a}){const{x:c,y:d}=Gt(t),h=xo({x:c-((a==null?void 0:a.left)??0),y:d-((a==null?void 0:a.top)??0)},l),{x:p,y}=o?vo(h,r):h;return{xSnapped:p,ySnapped:y,...h}}const sc=t=>({width:t.offsetWidth,height:t.offsetHeight}),Yp=t=>{var r;return((r=t==null?void 0:t.getRootNode)==null?void 0:r.call(t))||(window==null?void 0:window.document)},Rw=["INPUT","SELECT","TEXTAREA"];function Xp(t){var l,a;const r=((a=(l=t.composedPath)==null?void 0:l.call(t))==null?void 0:a[0])||t.target;return(r==null?void 0:r.nodeType)!==1?!1:Rw.includes(r.nodeName)||r.hasAttribute("contenteditable")||!!r.closest(".nokey")}const Qp=t=>"clientX"in t,Gt=(t,r)=>{var c,d;const o=Qp(t),l=o?t.clientX:(c=t.touches)==null?void 0:c[0].clientX,a=o?t.clientY:(d=t.touches)==null?void 0:d[0].clientY;return{x:l-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)}},hh=(t,r,o,l,a)=>{const c=r.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(d=>{const h=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:t,nodeId:a,position:d.getAttribute("data-handlepos"),x:(h.left-o.left)/l,y:(h.top-o.top)/l,...sc(d)}})};function Kp({sourceX:t,sourceY:r,targetX:o,targetY:l,sourceControlX:a,sourceControlY:c,targetControlX:d,targetControlY:h}){const p=t*.125+a*.375+d*.375+o*.125,y=r*.125+c*.375+h*.375+l*.125,m=Math.abs(p-t),v=Math.abs(y-r);return[p,y,m,v]}function Bs(t,r){return t>=0?.5*t:r*25*Math.sqrt(-t)}function ph({pos:t,x1:r,y1:o,x2:l,y2:a,c}){switch(t){case _e.Left:return[r-Bs(r-l,c),o];case _e.Right:return[r+Bs(l-r,c),o];case _e.Top:return[r,o-Bs(o-a,c)];case _e.Bottom:return[r,o+Bs(a-o,c)]}}function Gp({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top,curvature:d=.25}){const[h,p]=ph({pos:o,x1:t,y1:r,x2:l,y2:a,c:d}),[y,m]=ph({pos:c,x1:l,y1:a,x2:t,y2:r,c:d}),[v,g,S,_]=Kp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:h,sourceControlY:p,targetControlX:y,targetControlY:m});return[`M${t},${r} C${h},${p} ${y},${m} ${l},${a}`,v,g,S,_]}function qp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const a=Math.abs(o-t)/2,c=o0}const $w=({source:t,sourceHandle:r,target:o,targetHandle:l})=>`xy-edge__${t}${r||""}-${o}${l||""}`,Dw=(t,r)=>r.some(o=>o.source===t.source&&o.target===t.target&&(o.sourceHandle===t.sourceHandle||!o.sourceHandle&&!t.sourceHandle)&&(o.targetHandle===t.targetHandle||!o.targetHandle&&!t.targetHandle)),Ow=(t,r,o={})=>{var c;if(!t.source||!t.target)return(c=o.onError)==null||c.call(o,"006",qt.error006()),r;const l=o.getEdgeId||$w;let a;return Op(t)?a={...t}:a={...t,id:l(t)},Dw(a,r)?r:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,r.concat(a))};function Zp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const[a,c,d,h]=qp({sourceX:t,sourceY:r,targetX:o,targetY:l});return[`M ${t},${r}L ${o},${l}`,a,c,d,h]}const gh={[_e.Left]:{x:-1,y:0},[_e.Right]:{x:1,y:0},[_e.Top]:{x:0,y:-1},[_e.Bottom]:{x:0,y:1}},bw=({source:t,sourcePosition:r=_e.Bottom,target:o})=>r===_e.Left||r===_e.Right?t.xMath.sqrt(Math.pow(r.x-t.x,2)+Math.pow(r.y-t.y,2));function Fw({source:t,sourcePosition:r=_e.Bottom,target:o,targetPosition:l=_e.Top,center:a,offset:c,stepPosition:d}){const h=gh[r],p=gh[l],y={x:t.x+h.x*c,y:t.y+h.y*c},m={x:o.x+p.x*c,y:o.y+p.y*c},v=bw({source:y,sourcePosition:r,target:m}),g=v.x!==0?"x":"y",S=v[g];let _=[],M,k;const E={x:0,y:0},z={x:0,y:0},[,,N,P]=qp({sourceX:t.x,sourceY:t.y,targetX:o.x,targetY:o.y});if(h[g]*p[g]===-1){g==="x"?(M=a.x??y.x+(m.x-y.x)*d,k=a.y??(y.y+m.y)/2):(M=a.x??(y.x+m.x)/2,k=a.y??y.y+(m.y-y.y)*d);const X=[{x:M,y:y.y},{x:M,y:m.y}],K=[{x:y.x,y:k},{x:m.x,y:k}];h[g]===S?_=g==="x"?X:K:_=g==="x"?K:X}else{const X=[{x:y.x,y:m.y}],K=[{x:m.x,y:y.y}];if(g==="x"?_=h.x===S?K:X:_=h.y===S?X:K,r===l){const C=Math.abs(t[g]-o[g]);if(C<=c){const B=Math.min(c-1,c-C);h[g]===S?E[g]=(y[g]>t[g]?-1:1)*B:z[g]=(m[g]>o[g]?-1:1)*B}}if(r!==l){const C=g==="x"?"y":"x",B=h[g]===p[C],F=y[C]>m[C],V=y[C]=J?(M=(ne.x+Z.x)/2,k=_[0].y):(M=_[0].x,k=(ne.y+Z.y)/2)}const b={x:y.x+E.x,y:y.y+E.y},$={x:m.x+z.x,y:m.y+z.y};return[[t,...b.x!==_[0].x||b.y!==_[0].y?[b]:[],..._,...$.x!==_[_.length-1].x||$.y!==_[_.length-1].y?[$]:[],o],M,k,N,P]}function Hw(t,r,o,l){const a=Math.min(mh(t,r)/2,mh(r,o)/2,l),{x:c,y:d}=r;if(t.x===c&&c===o.x||t.y===d&&d===o.y)return`L${c} ${d}`;if(t.y===d){const y=t.xo.id===r):t[0])||null}function Uu(t,r){return t?typeof t=="string"?t:`${r?`${r}__`:""}${Object.keys(t).sort().map(l=>`${l}=${t[l]}`).join("&")}`:""}function Bw(t,{id:r,defaultColor:o,defaultMarkerStart:l,defaultMarkerEnd:a}){const c=new Set;return t.reduce((d,h)=>([h.markerStart||l,h.markerEnd||a].forEach(p=>{if(p&&typeof p=="object"){const y=Uu(p,r);c.has(y)||(d.push({id:y,color:p.color||o,...p}),c.add(y))}}),d),[]).sort((d,h)=>d.id.localeCompare(h.id))}const Jp=1e3,Uw=10,lc={nodeOrigin:[0,0],nodeExtent:so,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Ww={...lc,checkEquality:!0};function ac(t,r){const o={...t};for(const l in r)r[l]!==void 0&&(o[l]=r[l]);return o}function Yw(t,r,o){const l=ac(lc,o);for(const a of t.values())if(a.parentId)cc(a,t,r,l);else{const c=mo(a,l.nodeOrigin),d=xr(a.extent)?a.extent:l.nodeExtent,h=vr(c,d,Jt(a));a.internals.positionAbsolute=h}}function Xw(t,r){if(!t.handles)return t.measured?r==null?void 0:r.internals.handleBounds:void 0;const o=[],l=[];for(const a of t.handles){const c={id:a.id,width:a.width??1,height:a.height??1,nodeId:t.id,x:a.x,y:a.y,position:a.position,type:a.type};a.type==="source"?o.push(c):a.type==="target"&&l.push(c)}return{source:o,target:l}}function uc(t){return t==="manual"}function Wu(t,r,o,l={}){var m,v;const a=ac(Ww,l),c={i:0},d=new Map(r),h=a!=null&&a.elevateNodesOnSelect&&!uc(a.zIndexMode)?Jp:0;let p=t.length>0,y=!1;r.clear(),o.clear();for(const g of t){let S=d.get(g.id);if(a.checkEquality&&g===(S==null?void 0:S.internals.userNode))r.set(g.id,S);else{const _=mo(g,a.nodeOrigin),M=xr(g.extent)?g.extent:a.nodeExtent,k=vr(_,M,Jt(g));S={...a.defaults,...g,measured:{width:(m=g.measured)==null?void 0:m.width,height:(v=g.measured)==null?void 0:v.height},internals:{positionAbsolute:k,handleBounds:Xw(g,S),z:eg(g,h,a.zIndexMode),userNode:g}},r.set(g.id,S)}(S.measured===void 0||S.measured.width===void 0||S.measured.height===void 0)&&!S.hidden&&(p=!1),g.parentId&&cc(S,r,o,l,c),y||(y=g.selected??!1)}return{nodesInitialized:p,hasSelectedNodes:y}}function Qw(t,r){if(!t.parentId)return;const o=r.get(t.parentId);o?o.set(t.id,t):r.set(t.parentId,new Map([[t.id,t]]))}function cc(t,r,o,l,a){const{elevateNodesOnSelect:c,nodeOrigin:d,nodeExtent:h,zIndexMode:p}=ac(lc,l),y=t.parentId,m=r.get(y);if(!m){console.warn(`Parent node ${y} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Qw(t,o),a&&!m.parentId&&m.internals.rootParentIndex===void 0&&p==="auto"&&(m.internals.rootParentIndex=++a.i,m.internals.z=m.internals.z+a.i*Uw),a&&m.internals.rootParentIndex!==void 0&&(a.i=m.internals.rootParentIndex);const v=c&&!uc(p)?Jp:0,{x:g,y:S,z:_}=Kw(t,m,d,h,v,p),{positionAbsolute:M}=t.internals,k=g!==M.x||S!==M.y;(k||_!==t.internals.z)&&r.set(t.id,{...t,internals:{...t.internals,positionAbsolute:k?{x:g,y:S}:M,z:_}})}function eg(t,r,o){const l=Kt(t.zIndex)?t.zIndex:0;return uc(o)?l:l+(t.selected?r:0)}function Kw(t,r,o,l,a,c){const{x:d,y:h}=r.internals.positionAbsolute,p=Jt(t),y=mo(t,o),m=xr(t.extent)?vr(y,t.extent,p):y;let v=vr({x:d+m.x,y:h+m.y},l,p);t.extent==="parent"&&(v=Fp(v,p,r));const g=eg(t,a,c),S=r.internals.z??0;return{x:v.x,y:v.y,z:S>=g?S+1:g}}function dc(t,r,o,l=[0,0]){var d;const a=[],c=new Map;for(const h of t){const p=r.get(h.parentId);if(!p)continue;const y=((d=c.get(h.parentId))==null?void 0:d.expandedRect)??ao(p),m=Hp(y,h.rect);c.set(h.parentId,{expandedRect:m,parent:p})}return c.size>0&&c.forEach(({expandedRect:h,parent:p},y)=>{var N;const m=p.internals.positionAbsolute,v=Jt(p),g=p.origin??l,S=h.x0||_>0||E||z)&&(a.push({id:y,type:"position",position:{x:p.position.x-S+E,y:p.position.y-_+z}}),(N=o.get(y))==null||N.forEach(P=>{t.some(b=>b.id===P.id)||a.push({id:P.id,type:"position",position:{x:P.position.x+S,y:P.position.y+_}})})),(v.width0){const S=dc(g,r,o,a);y.push(...S)}return{changes:y,updatedInternals:p}}async function qw({delta:t,panZoom:r,transform:o,translateExtent:l,width:a,height:c}){if(!r||!t.x&&!t.y)return!1;const d=await r.setViewportConstrained({x:o[0]+t.x,y:o[1]+t.y,zoom:o[2]},[[0,0],[a,c]],l);return!!d&&(d.x!==o[0]||d.y!==o[1]||d.k!==o[2])}function wh(t,r,o,l,a,c){let d=a;const h=l.get(d)||new Map;l.set(d,h.set(o,r)),d=`${a}-${t}`;const p=l.get(d)||new Map;if(l.set(d,p.set(o,r)),c){d=`${a}-${t}-${c}`;const y=l.get(d)||new Map;l.set(d,y.set(o,r))}}function tg(t,r,o){t.clear(),r.clear();for(const l of o){const{source:a,target:c,sourceHandle:d=null,targetHandle:h=null}=l,p={edgeId:l.id,source:a,target:c,sourceHandle:d,targetHandle:h},y=`${a}-${d}--${c}-${h}`,m=`${c}-${h}--${a}-${d}`;wh("source",p,m,t,a,d),wh("target",p,y,t,c,h),r.set(l.id,l)}}function ng(t,r){if(!t.parentId)return!1;const o=r.get(t.parentId);return o?o.selected?!0:ng(o,r):!1}function Sh(t,r,o){var a;let l=t;do{if((a=l==null?void 0:l.matches)!=null&&a.call(l,r))return!0;if(l===o)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function Zw(t,r,o,l){const a=new Map;for(const[c,d]of t)if((d.selected||d.id===l)&&(!d.parentId||!ng(d,t))&&(d.draggable||r&&typeof d.draggable>"u")){const h=t.get(c);h&&a.set(c,{id:c,position:h.position||{x:0,y:0},distance:{x:o.x-h.internals.positionAbsolute.x,y:o.y-h.internals.positionAbsolute.y},extent:h.extent,parentId:h.parentId,origin:h.origin,expandParent:h.expandParent,internals:{positionAbsolute:h.internals.positionAbsolute||{x:0,y:0}},measured:{width:h.measured.width??0,height:h.measured.height??0}})}return a}function Eu({nodeId:t,dragItems:r,nodeLookup:o,dragging:l=!0}){var d,h,p;const a=[];for(const[y,m]of r){const v=(d=o.get(y))==null?void 0:d.internals.userNode;v&&a.push({...v,position:m.position,dragging:l})}if(!t)return[a[0],a];const c=(h=o.get(t))==null?void 0:h.internals.userNode;return[c?{...c,position:((p=r.get(t))==null?void 0:p.position)||c.position,dragging:l}:a[0],a]}function Jw({dragItems:t,snapGrid:r,x:o,y:l}){const a=t.values().next().value;if(!a)return null;const c={x:o-a.distance.x,y:l-a.distance.y},d=vo(c,r);return{x:d.x-c.x,y:d.y-c.y}}function e1({onNodeMouseDown:t,getStoreItems:r,onDragStart:o,onDrag:l,onDragStop:a}){let c={x:null,y:null},d=0,h=new Map,p=!1,y={x:0,y:0},m=null,v=!1,g=null,S=!1,_=!1,M=null;function k({noDragClassName:z,handleSelector:N,domNode:P,isSelectable:b,nodeId:$,nodeClickDistance:H=0}){g=zt(P);function X({x:te,y:J}){const{nodeLookup:C,nodeExtent:B,snapGrid:F,snapToGrid:V,nodeOrigin:A,onNodeDrag:L,onSelectionDrag:O,onError:j,updateNodePositions:T}=r();c={x:te,y:J};let ee=!1;const re=h.size>1,ue=re&&B?Vu(yo(h)):null,de=re&&V?Jw({dragItems:h,snapGrid:F,x:te,y:J}):null;for(const[ce,Q]of h){if(!C.has(ce))continue;let se={x:te-Q.distance.x,y:J-Q.distance.y};V&&(se=de?{x:Math.round(se.x+de.x),y:Math.round(se.y+de.y)}:vo(se,F));let pe=null;if(re&&B&&!Q.extent&&ue){const{positionAbsolute:me}=Q.internals,Ce=me.x-ue.x+B[0][0],Me=me.x+Q.measured.width-ue.x2+B[1][0],Pe=me.y-ue.y+B[0][1],ze=me.y+Q.measured.height-ue.y2+B[1][1];pe=[[Ce,Pe],[Me,ze]]}const{position:Se,positionAbsolute:ve}=bp({nodeId:ce,nextPosition:se,nodeLookup:C,nodeExtent:pe||B,nodeOrigin:A,onError:j});ee=ee||Q.position.x!==Se.x||Q.position.y!==Se.y,Q.position=Se,Q.internals.positionAbsolute=ve}if(_=_||ee,!!ee&&(T(h,!0),M&&(l||L||!$&&O))){const[ce,Q]=Eu({nodeId:$,dragItems:h,nodeLookup:C});l==null||l(M,h,ce,Q),L==null||L(M,ce,Q),$||O==null||O(M,Q)}}async function K(){if(!m)return;const{transform:te,panBy:J,autoPanSpeed:C,autoPanOnNodeDrag:B}=r();if(!B){p=!1,cancelAnimationFrame(d);return}const[F,V]=ic(y,m,C);(F!==0||V!==0)&&(c.x=(c.x??0)-F/te[2],c.y=(c.y??0)-V/te[2],await J({x:F,y:V})&&X(c)),d=requestAnimationFrame(K)}function ne(te){var re;const{nodeLookup:J,multiSelectionActive:C,nodesDraggable:B,transform:F,snapGrid:V,snapToGrid:A,selectNodesOnDrag:L,onNodeDragStart:O,onSelectionDragStart:j,unselectNodesAndEdges:T}=r();v=!0,(!L||!b)&&!C&&$&&((re=J.get($))!=null&&re.selected||T()),b&&L&&$&&(t==null||t($));const ee=to(te.sourceEvent,{transform:F,snapGrid:V,snapToGrid:A,containerBounds:m});if(c=ee,h=Zw(J,B,ee,$),h.size>0&&(o||O||!$&&j)){const[ue,de]=Eu({nodeId:$,dragItems:h,nodeLookup:J});o==null||o(te.sourceEvent,h,ue,de),O==null||O(te.sourceEvent,ue,de),$||j==null||j(te.sourceEvent,de)}}const Z=vp().clickDistance(H).on("start",te=>{const{domNode:J,nodeDragThreshold:C,transform:B,snapGrid:F,snapToGrid:V}=r();m=(J==null?void 0:J.getBoundingClientRect())||null,S=!1,_=!1,M=te.sourceEvent,C===0&&ne(te),c=to(te.sourceEvent,{transform:B,snapGrid:F,snapToGrid:V,containerBounds:m}),y=Gt(te.sourceEvent,m)}).on("drag",te=>{const{autoPanOnNodeDrag:J,transform:C,snapGrid:B,snapToGrid:F,nodeDragThreshold:V,nodeLookup:A}=r(),L=to(te.sourceEvent,{transform:C,snapGrid:B,snapToGrid:F,containerBounds:m});if(M=te.sourceEvent,(te.sourceEvent.type==="touchmove"&&te.sourceEvent.touches.length>1||$&&!A.has($))&&(S=!0),!S){if(!p&&J&&v&&(p=!0,K()),!v){const O=Gt(te.sourceEvent,m),j=O.x-y.x,T=O.y-y.y;Math.sqrt(j*j+T*T)>V&&ne(te)}(c.x!==L.xSnapped||c.y!==L.ySnapped)&&h&&v&&(y=Gt(te.sourceEvent,m),X(L))}}).on("end",te=>{if(!v||S){S&&h.size>0&&r().updateNodePositions(h,!1);return}if(p=!1,v=!1,cancelAnimationFrame(d),h.size>0){const{nodeLookup:J,updateNodePositions:C,onNodeDragStop:B,onSelectionDragStop:F}=r();if(_&&(C(h,!1),_=!1),a||B||!$&&F){const[V,A]=Eu({nodeId:$,dragItems:h,nodeLookup:J,dragging:!1});a==null||a(te.sourceEvent,h,V,A),B==null||B(te.sourceEvent,V,A),$||F==null||F(te.sourceEvent,A)}}}).filter(te=>{const J=te.target;return!te.button&&(!z||!Sh(J,`.${z}`,P))&&(!N||Sh(J,N,P))});g.call(Z)}function E(){g==null||g.on(".drag",null)}return{update:k,destroy:E}}function t1(t,r,o){const l=[],a={x:t.x-o,y:t.y-o,width:o*2,height:o*2};for(const c of r.values())ll(a,ao(c))>0&&l.push(c);return l}const n1=250;function r1(t,r,o,l){var h,p;let a=[],c=1/0;const d=t1(t,o,r+n1);for(const y of d){const m=[...((h=y.internals.handleBounds)==null?void 0:h.source)??[],...((p=y.internals.handleBounds)==null?void 0:p.target)??[]];for(const v of m){if(l.nodeId===v.nodeId&&l.type===v.type&&l.id===v.id)continue;const{x:g,y:S}=wr(y,v,v.position,!0),_=Math.sqrt(Math.pow(g-t.x,2)+Math.pow(S-t.y,2));_>r||(_1){const y=l.type==="source"?"target":"source";return a.find(m=>m.type===y)??a[0]}return a[0]}function rg(t,r,o,l,a,c=!1){var y,m,v;const d=l.get(t);if(!d)return null;const h=a==="strict"?(y=d.internals.handleBounds)==null?void 0:y[r]:[...((m=d.internals.handleBounds)==null?void 0:m.source)??[],...((v=d.internals.handleBounds)==null?void 0:v.target)??[]],p=(o?h==null?void 0:h.find(g=>g.id===o):h==null?void 0:h[0])??null;return p&&c?{...p,...wr(d,p,p.position,!0)}:p}function ig(t,r){return t||(r!=null&&r.classList.contains("target")?"target":r!=null&&r.classList.contains("source")?"source":null)}function i1(t,r){let o=null;return r?o=!0:t&&!r&&(o=!1),o}const og=()=>!0;function o1(t,{connectionMode:r,connectionRadius:o,handleId:l,nodeId:a,edgeUpdaterType:c,isTarget:d,domNode:h,nodeLookup:p,lib:y,autoPanOnConnect:m,flowId:v,panBy:g,cancelConnection:S,onConnectStart:_,onConnect:M,onConnectEnd:k,isValidConnection:E=og,onReconnectEnd:z,updateConnection:N,getTransform:P,getFromHandle:b,autoPanSpeed:$,dragThreshold:H=1,handleDomNode:X}){const K=Yp(t.target);let ne=0,Z;const{x:te,y:J}=Gt(t),C=ig(c,X),B=h==null?void 0:h.getBoundingClientRect();let F=!1;if(!B||!C)return;const V=rg(a,C,l,p,r);if(!V)return;let A=Gt(t,B),L=!1,O=null,j=!1,T=null;function ee(){if(!m||!B)return;const[Se,ve]=ic(A,B,$);g({x:Se,y:ve}),ne=requestAnimationFrame(ee)}const re={...V,nodeId:a,type:C,position:V.position},ue=p.get(a);let ce={inProgress:!0,isValid:null,from:wr(ue,re,_e.Left,!0),fromHandle:re,fromPosition:re.position,fromNode:ue,to:A,toHandle:null,toPosition:uh[re.position],toNode:null,pointer:A};function Q(){F=!0,N(ce),_==null||_(t,{nodeId:a,handleId:l,handleType:C})}H===0&&Q();function se(Se){if(!F){const{x:ze,y:Ze}=Gt(Se),lt=ze-te,Je=Ze-J;if(!(lt*lt+Je*Je>H*H))return;Q()}if(!b()||!re){pe(Se);return}const ve=P();A=Gt(Se,B),Z=r1(xo(A,ve,!1,[1,1]),o,p,re),L||(ee(),L=!0);const me=sg(Se,{handle:Z,connectionMode:r,fromNodeId:a,fromHandleId:l,fromType:d?"target":"source",isValidConnection:E,doc:K,lib:y,flowId:v,nodeLookup:p});T=me.handleDomNode,O=me.connection,j=i1(!!Z,me.isValid);const Ce=p.get(a),Me=Ce?wr(Ce,re,_e.Left,!0):ce.from,Pe={...ce,from:Me,isValid:j,to:me.toHandle&&j?ii({x:me.toHandle.x,y:me.toHandle.y},ve):A,toHandle:me.toHandle,toPosition:j&&me.toHandle?me.toHandle.position:uh[re.position],toNode:me.toHandle?p.get(me.toHandle.nodeId):null,pointer:A};N(Pe),ce=Pe}function pe(Se){if(!("touches"in Se&&Se.touches.length>0)){if(F){(Z||T)&&O&&j&&(M==null||M(O));const{inProgress:ve,...me}=ce,Ce={...me,toPosition:ce.toHandle?ce.toPosition:null};k==null||k(Se,Ce),c&&(z==null||z(Se,Ce))}S(),cancelAnimationFrame(ne),L=!1,j=!1,O=null,T=null,K.removeEventListener("mousemove",se),K.removeEventListener("mouseup",pe),K.removeEventListener("touchmove",se),K.removeEventListener("touchend",pe)}}K.addEventListener("mousemove",se),K.addEventListener("mouseup",pe),K.addEventListener("touchmove",se),K.addEventListener("touchend",pe)}function sg(t,{handle:r,connectionMode:o,fromNodeId:l,fromHandleId:a,fromType:c,doc:d,lib:h,flowId:p,isValidConnection:y=og,nodeLookup:m}){const v=c==="target",g=r?d.querySelector(`.${h}-flow__handle[data-id="${p}-${r==null?void 0:r.nodeId}-${r==null?void 0:r.id}-${r==null?void 0:r.type}"]`):null,{x:S,y:_}=Gt(t),M=d.elementFromPoint(S,_),k=M!=null&&M.classList.contains(`${h}-flow__handle`)?M:g,E={handleDomNode:k,isValid:!1,connection:null,toHandle:null};if(k){const z=ig(void 0,k),N=k.getAttribute("data-nodeid"),P=k.getAttribute("data-handleid"),b=k.classList.contains("connectable"),$=k.classList.contains("connectableend");if(!N||!z)return E;const H={source:v?N:l,sourceHandle:v?P:a,target:v?l:N,targetHandle:v?a:P};E.connection=H;const K=b&&$&&(o===ni.Strict?v&&z==="source"||!v&&z==="target":N!==l||P!==a);E.isValid=K&&y(H),E.toHandle=rg(N,z,P,m,o,!0)}return E}const Yu={onPointerDown:o1,isValid:sg};function s1({domNode:t,panZoom:r,getTransform:o,getViewScale:l}){const a=zt(t);function c({translateExtent:h,width:p,height:y,zoomStep:m=1,pannable:v=!0,zoomable:g=!0,inversePan:S=!1}){const _=N=>{if(N.sourceEvent.type!=="wheel"||!r)return;const P=o(),b=N.sourceEvent.ctrlKey&&uo()?10:1,$=-N.sourceEvent.deltaY*(N.sourceEvent.deltaMode===1?.05:N.sourceEvent.deltaMode?1:.002)*m,H=P[2]*Math.pow(2,$*b);r.scaleTo(H)};let M=[0,0];const k=N=>{(N.sourceEvent.type==="mousedown"||N.sourceEvent.type==="touchstart")&&(M=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY])},E=N=>{const P=o();if(N.sourceEvent.type!=="mousemove"&&N.sourceEvent.type!=="touchmove"||!r)return;const b=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY],$=[b[0]-M[0],b[1]-M[1]];M=b;const H=l()*Math.max(P[2],Math.log(P[2]))*(S?-1:1),X={x:P[0]-$[0]*H,y:P[1]-$[1]*H},K=[[0,0],[p,y]];r.setViewportConstrained({x:X.x,y:X.y,zoom:P[2]},K,h)},z=Rp().on("start",k).on("zoom",v?E:null).on("zoom.wheel",g?_:null);a.call(z,{})}function d(){a.on("zoom",null)}return{update:c,destroy:d,pointer:Xt}}const vl=t=>({x:t.x,y:t.y,zoom:t.k}),Nu=({x:t,y:r,zoom:o})=>gl.translate(t,r).scale(o),Wn=(t,r)=>t.target.closest(`.${r}`),lg=(t,r)=>r===2&&Array.isArray(t)&&t.includes(2),l1=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Cu=(t,r=0,o=l1,l=()=>{})=>{const a=typeof r=="number"&&r>0;return a||l(),a?t.transition().duration(r).ease(o).on("end",l):t},ag=t=>{const r=t.ctrlKey&&uo()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*r};function a1({zoomPanValues:t,noWheelClassName:r,d3Selection:o,d3Zoom:l,panOnScrollMode:a,panOnScrollSpeed:c,zoomOnPinch:d,onPanZoomStart:h,onPanZoom:p,onPanZoomEnd:y}){return m=>{if(Wn(m,r))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const v=o.property("__zoom").k||1;if(m.ctrlKey&&d){const k=Xt(m),E=ag(m),z=v*Math.pow(2,E);l.scaleTo(o,z,k,m);return}const g=m.deltaMode===1?20:1;let S=a===gr.Vertical?0:m.deltaX*g,_=a===gr.Horizontal?0:m.deltaY*g;!uo()&&m.shiftKey&&a!==gr.Vertical&&(S=m.deltaY*g,_=0),l.translateBy(o,-(S/v)*c,-(_/v)*c,{internal:!0});const M=vl(o.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?p==null||p(m,M):(t.isPanScrolling=!0,h==null||h(m,M)),t.panScrollTimeout=setTimeout(()=>{y==null||y(m,M),t.isPanScrolling=!1},150)}}function u1({noWheelClassName:t,preventScrolling:r,d3ZoomHandler:o}){return function(l,a){const c=l.type==="wheel",d=!r&&c&&!l.ctrlKey,h=Wn(l,t);if(l.ctrlKey&&c&&h&&l.preventDefault(),d||h)return null;l.preventDefault(),o.call(this,l,a)}}function c1({zoomPanValues:t,onDraggingChange:r,onPanZoomStart:o}){return l=>{var c,d,h;if((c=l.sourceEvent)!=null&&c.internal)return;const a=vl(l.transform);t.mouseButton=((d=l.sourceEvent)==null?void 0:d.button)||0,t.isZoomingOrPanning=!0,t.prevViewport=a,((h=l.sourceEvent)==null?void 0:h.type)==="mousedown"&&r(!0),o&&(o==null||o(l.sourceEvent,a))}}function d1({zoomPanValues:t,panOnDrag:r,onPaneContextMenu:o,onTransformChange:l,onPanZoom:a}){return c=>{var d,h;t.usedRightMouseButton=!!(o&&lg(r,t.mouseButton??0)),(d=c.sourceEvent)!=null&&d.sync||l([c.transform.x,c.transform.y,c.transform.k]),a&&!((h=c.sourceEvent)!=null&&h.internal)&&(a==null||a(c.sourceEvent,vl(c.transform)))}}function f1({zoomPanValues:t,panOnDrag:r,panOnScroll:o,onDraggingChange:l,onPanZoomEnd:a,onPaneContextMenu:c}){return d=>{var h;if(!((h=d.sourceEvent)!=null&&h.internal)&&(t.isZoomingOrPanning=!1,c&&lg(r,t.mouseButton??0)&&!t.usedRightMouseButton&&d.sourceEvent&&c(d.sourceEvent),t.usedRightMouseButton=!1,l(!1),a)){const p=vl(d.transform);t.prevViewport=p,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{a==null||a(d.sourceEvent,p)},o?150:0)}}}function h1({panActivationKeyPressed:t,zoomActivationKeyPressed:r,zoomOnScroll:o,zoomOnPinch:l,panOnDrag:a,panOnScroll:c,zoomOnDoubleClick:d,userSelectionActive:h,noWheelClassName:p,noPanClassName:y,lib:m,connectionInProgress:v}){return g=>{var E;const S=r||o,_=l&&g.ctrlKey,M=g.type==="wheel";if(g.button===1&&g.type==="mousedown"&&(Wn(g,`${m}-flow__node`)||Wn(g,`${m}-flow__edge`)||Wn(g,`${m}-flow__selection`)||Wn(g,`${m}-flow__nodesselection`)))return!0;if(!a&&!S&&!c&&!d&&!l||h||v&&!M||Wn(g,p)&&M||Wn(g,y)&&(!M||c&&M&&!r)||!l&&g.ctrlKey&&M)return!1;if(!l&&g.type==="touchstart"&&((E=g.touches)==null?void 0:E.length)>1)return g.preventDefault(),!1;if(!S&&!c&&!_&&M||!a&&(g.type==="mousedown"||g.type==="touchstart")||Array.isArray(a)&&!a.includes(g.button)&&g.type==="mousedown")return!1;const k=Array.isArray(a)&&a.includes(g.button)||!g.button||g.button<=1;return(!g.ctrlKey||M||t)&&k}}function p1({domNode:t,minZoom:r,maxZoom:o,translateExtent:l,viewport:a,onPanZoom:c,onPanZoomStart:d,onPanZoomEnd:h,onDraggingChange:p}){const y={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=t.getBoundingClientRect();let v=[[0,0],[m.width,m.height]];const g=typeof ResizeObserver<"u"?new ResizeObserver(J=>{const C=J[0];C&&(v=[[0,0],[C.contentRect.width,C.contentRect.height]])}):null;g==null||g.observe(t);const S=Rp().extent(()=>v).scaleExtent([r,o]).translateExtent(l),_=zt(t).call(S);P({x:a.x,y:a.y,zoom:ri(a.zoom,r,o)},[[0,0],[m.width,m.height]],l);const M=_.on("wheel.zoom"),k=_.on("dblclick.zoom");S.wheelDelta(ag);async function E(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).transform(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function z({noWheelClassName:J,noPanClassName:C,onPaneContextMenu:B,userSelectionActive:F,panOnScroll:V,panOnDrag:A,panOnScrollMode:L,panOnScrollSpeed:O,preventScrolling:j,zoomOnPinch:T,zoomOnScroll:ee,zoomOnDoubleClick:re,panActivationKeyPressed:ue=!1,zoomActivationKeyPressed:de,lib:ce,onTransformChange:Q,connectionInProgress:se,paneClickDistance:pe,selectionOnDrag:Se}){F&&!y.isZoomingOrPanning&&N();const ve=V&&!de&&!F;S.clickDistance(Se?1/0:!Kt(pe)||pe<0?0:pe);const me=ve?a1({zoomPanValues:y,noWheelClassName:J,d3Selection:_,d3Zoom:S,panOnScrollMode:L,panOnScrollSpeed:O,zoomOnPinch:T,onPanZoomStart:d,onPanZoom:c,onPanZoomEnd:h}):u1({noWheelClassName:J,preventScrolling:j,d3ZoomHandler:M});_.on("wheel.zoom",me,{passive:!1});const Ce=c1({zoomPanValues:y,onDraggingChange:p,onPanZoomStart:d});S.on("start",Ce);const Me=d1({zoomPanValues:y,panOnDrag:A,onPaneContextMenu:!!B,onPanZoom:c,onTransformChange:Q});S.on("zoom",Me);const Pe=f1({zoomPanValues:y,panOnDrag:A,panOnScroll:V,onPaneContextMenu:B,onPanZoomEnd:h,onDraggingChange:p});S.on("end",Pe);const ze=h1({panActivationKeyPressed:ue,zoomActivationKeyPressed:de,panOnDrag:A,zoomOnScroll:ee,panOnScroll:V,zoomOnDoubleClick:re,zoomOnPinch:T,userSelectionActive:F,noPanClassName:C,noWheelClassName:J,lib:ce,connectionInProgress:se});S.filter(ze),re?_.on("dblclick.zoom",k):_.on("dblclick.zoom",null)}function N(){S.on("zoom",null)}async function P(J,C,B){const F=Nu(J),V=S==null?void 0:S.constrain()(F,C,B);return V&&await E(V),V}async function b(J,C){const B=Nu(J);return await E(B,C),B}function $(J){if(_){const C=Nu(J),B=_.property("__zoom");(B.k!==J.zoom||B.x!==J.x||B.y!==J.y)&&(S==null||S.transform(_,C,null,{sync:!0}))}}function H(){const J=_?zp(_.node()):{x:0,y:0,k:1};return{x:J.x,y:J.y,zoom:J.k}}async function X(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleTo(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}async function K(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleBy(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function ne(J){S==null||S.scaleExtent(J)}function Z(J){S==null||S.translateExtent(J)}function te(J){const C=!Kt(J)||J<0?0:J;S==null||S.clickDistance(C)}return{update:z,destroy:N,setViewport:b,setViewportConstrained:P,getViewport:H,scaleTo:X,scaleBy:K,setScaleExtent:ne,setTranslateExtent:Z,syncViewport:$,setClickDistance:te}}var oi;(function(t){t.Line="line",t.Handle="handle"})(oi||(oi={}));function g1({width:t,prevWidth:r,height:o,prevHeight:l,affectsX:a,affectsY:c}){const d=t-r,h=o-l,p=[d>0?1:d<0?-1:0,h>0?1:h<0?-1:0];return d&&a&&(p[0]=p[0]*-1),h&&c&&(p[1]=p[1]*-1),p}function _h(t){const r=t.includes("right")||t.includes("left"),o=t.includes("bottom")||t.includes("top"),l=t.includes("left"),a=t.includes("top");return{isHorizontal:r,isVertical:o,affectsX:l,affectsY:a}}function Bn(t,r){return Math.max(0,r-t)}function Un(t,r){return Math.max(0,t-r)}function Us(t,r,o){return Math.max(0,r-t,t-o)}function kh(t,r){return t?!r:r}function m1(t,r,o,l,a,c,d,h){let{affectsX:p,affectsY:y}=r;const{isHorizontal:m,isVertical:v}=r,g=m&&v,{xSnapped:S,ySnapped:_}=o,{minWidth:M,maxWidth:k,minHeight:E,maxHeight:z}=l,{x:N,y:P,width:b,height:$,aspectRatio:H}=t;let X=Math.floor(m?S-t.pointerX:0),K=Math.floor(v?_-t.pointerY:0);const ne=b+(p?-X:X),Z=$+(y?-K:K),te=-c[0]*b,J=-c[1]*$;let C=Us(ne,M,k),B=Us(Z,E,z);if(d){let A=0,L=0;p&&X<0?A=Bn(N+X+te,d[0][0]):!p&&X>0&&(A=Un(N+ne+te,d[1][0])),y&&K<0?L=Bn(P+K+J,d[0][1]):!y&&K>0&&(L=Un(P+Z+J,d[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(h){let A=0,L=0;p&&X>0?A=Un(N+X,h[0][0]):!p&&X<0&&(A=Bn(N+ne,h[1][0])),y&&K>0?L=Un(P+K,h[0][1]):!y&&K<0&&(L=Bn(P+Z,h[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(a){if(m){const A=Us(ne/H,E,z)*H;if(C=Math.max(C,A),d){let L=0;!p&&!y||p&&!y&&g?L=Un(P+J+ne/H,d[1][1])*H:L=Bn(P+J+(p?X:-X)/H,d[0][1])*H,C=Math.max(C,L)}if(h){let L=0;!p&&!y||p&&!y&&g?L=Bn(P+ne/H,h[1][1])*H:L=Un(P+(p?X:-X)/H,h[0][1])*H,C=Math.max(C,L)}}if(v){const A=Us(Z*H,M,k)/H;if(B=Math.max(B,A),d){let L=0;!p&&!y||y&&!p&&g?L=Un(N+Z*H+te,d[1][0])/H:L=Bn(N+(y?K:-K)*H+te,d[0][0])/H,B=Math.max(B,L)}if(h){let L=0;!p&&!y||y&&!p&&g?L=Bn(N+Z*H,h[1][0])/H:L=Un(N+(y?K:-K)*H,h[0][0])/H,B=Math.max(B,L)}}}K=K+(K<0?B:-B),X=X+(X<0?C:-C),a&&(g?ne>Z*H?K=(kh(p,y)?-X:X)/H:X=(kh(p,y)?-K:K)*H:m?(K=X/H,y=p):(X=K*H,p=y));const F=p?N+X:N,V=y?P+K:P;return{width:b+(p?-X:X),height:$+(y?-K:K),x:c[0]*X*(p?-1:1)+F,y:c[1]*K*(y?-1:1)+V}}const ug={width:0,height:0,x:0,y:0},y1={...ug,pointerX:0,pointerY:0,aspectRatio:1};function v1(t,r,o){const l=r.position.x+t.position.x,a=r.position.y+t.position.y,c=t.measured.width??0,d=t.measured.height??0,h=o[0]*c,p=o[1]*d;return[[l-h,a-p],[l+c-h,a+d-p]]}function x1({domNode:t,nodeId:r,getStoreItems:o,onChange:l,onEnd:a}){const c=zt(t);let d={controlDirection:_h("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function h({controlPosition:y,boundaries:m,keepAspectRatio:v,resizeDirection:g,onResizeStart:S,onResize:_,onResizeEnd:M,shouldResize:k}){let E={...ug},z={...y1};d={boundaries:m,resizeDirection:g,keepAspectRatio:v,controlDirection:_h(y)};let N,P=null,b=[],$,H,X,K=!1;const ne=vp().on("start",Z=>{const{nodeLookup:te,transform:J,snapGrid:C,snapToGrid:B,nodeOrigin:F,paneDomNode:V}=o();if(N=te.get(r),!N)return;P=(V==null?void 0:V.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:L}=to(Z.sourceEvent,{transform:J,snapGrid:C,snapToGrid:B,containerBounds:P});E={width:N.measured.width??0,height:N.measured.height??0,x:N.position.x??0,y:N.position.y??0},z={...E,pointerX:A,pointerY:L,aspectRatio:E.width/E.height},$=void 0,H=xr(N.extent)?N.extent:void 0,N.parentId&&(N.extent==="parent"||N.expandParent)&&($=te.get(N.parentId)),$&&N.extent==="parent"&&(H=[[0,0],[$.measured.width,$.measured.height]]),b=[],X=void 0;for(const[O,j]of te)if(j.parentId===r&&(b.push({id:O,position:{...j.position},extent:j.extent}),j.extent==="parent"||j.expandParent)){const T=v1(j,N,j.origin??F);X?X=[[Math.min(T[0][0],X[0][0]),Math.min(T[0][1],X[0][1])],[Math.max(T[1][0],X[1][0]),Math.max(T[1][1],X[1][1])]]:X=T}S==null||S(Z,{...E})}).on("drag",Z=>{const{transform:te,snapGrid:J,snapToGrid:C,nodeOrigin:B}=o(),F=to(Z.sourceEvent,{transform:te,snapGrid:J,snapToGrid:C,containerBounds:P}),V=[];if(!N)return;const{x:A,y:L,width:O,height:j}=E,T={},ee=N.origin??B,{width:re,height:ue,x:de,y:ce}=m1(z,d.controlDirection,F,d.boundaries,d.keepAspectRatio,ee,H,X),Q=re!==O,se=ue!==j,pe=de!==A&&Q,Se=ce!==L&&se;if(!pe&&!Se&&!Q&&!se)return;if((pe||Se||ee[0]===1||ee[1]===1)&&(T.x=pe?de:E.x,T.y=Se?ce:E.y,E.x=T.x,E.y=T.y,b.length>0)){const Me=de-A,Pe=ce-L;for(const ze of b)ze.position={x:ze.position.x-Me+ee[0]*(re-O),y:ze.position.y-Pe+ee[1]*(ue-j)},V.push(ze)}if((Q||se)&&(T.width=Q&&(!d.resizeDirection||d.resizeDirection==="horizontal")?re:E.width,T.height=se&&(!d.resizeDirection||d.resizeDirection==="vertical")?ue:E.height,E.width=T.width,E.height=T.height),$&&N.expandParent){const Me=ee[0]*(T.width??0);T.x&&T.x{K&&(M==null||M(Z,{...E}),a==null||a({...E}),K=!1)});c.call(ne)}function p(){c.on(".drag",null)}return{update:h,destroy:p}}var ju={exports:{}},Mu={},Pu={exports:{}},Iu={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Eh;function w1(){if(Eh)return Iu;Eh=1;var t=fo();function r(v,g){return v===g&&(v!==0||1/v===1/g)||v!==v&&g!==g}var o=typeof Object.is=="function"?Object.is:r,l=t.useState,a=t.useEffect,c=t.useLayoutEffect,d=t.useDebugValue;function h(v,g){var S=g(),_=l({inst:{value:S,getSnapshot:g}}),M=_[0].inst,k=_[1];return c(function(){M.value=S,M.getSnapshot=g,p(M)&&k({inst:M})},[v,S,g]),a(function(){return p(M)&&k({inst:M}),v(function(){p(M)&&k({inst:M})})},[v]),d(S),S}function p(v){var g=v.getSnapshot;v=v.value;try{var S=g();return!o(v,S)}catch{return!0}}function y(v,g){return g()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?y:h;return Iu.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:m,Iu}var Nh;function S1(){return Nh||(Nh=1,Pu.exports=w1()),Pu.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ch;function _1(){if(Ch)return Mu;Ch=1;var t=fo(),r=S1();function o(y,m){return y===m&&(y!==0||1/y===1/m)||y!==y&&m!==m}var l=typeof Object.is=="function"?Object.is:o,a=r.useSyncExternalStore,c=t.useRef,d=t.useEffect,h=t.useMemo,p=t.useDebugValue;return Mu.useSyncExternalStoreWithSelector=function(y,m,v,g,S){var _=c(null);if(_.current===null){var M={hasValue:!1,value:null};_.current=M}else M=_.current;_=h(function(){function E($){if(!z){if(z=!0,N=$,$=g($),S!==void 0&&M.hasValue){var H=M.value;if(S(H,$))return P=H}return P=$}if(H=P,l(N,$))return H;var X=g($);return S!==void 0&&S(H,X)?(N=$,H):(N=$,P=X)}var z=!1,N,P,b=v===void 0?null:v;return[function(){return E(m())},b===null?void 0:function(){return E(b())}]},[m,v,g,S]);var k=a(y,_[0],_[1]);return d(function(){M.hasValue=!0,M.value=k},[k]),p(k),k},Mu}var jh;function k1(){return jh||(jh=1,ju.exports=_1()),ju.exports}var E1=k1();const N1=np(E1),C1={},Mh=t=>{let r;const o=new Set,l=(m,v)=>{const g=typeof m=="function"?m(r):m;if(!Object.is(g,r)){const S=r;r=v??(typeof g!="object"||g===null)?g:Object.assign({},r,g),o.forEach(_=>_(r,S))}},a=()=>r,p={setState:l,getState:a,getInitialState:()=>y,subscribe:m=>(o.add(m),()=>o.delete(m)),destroy:()=>{(C1?"production":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."),o.clear()}},y=r=t(l,a,p);return p},j1=t=>t?Mh(t):Mh,{useDebugValue:M1}=I0,{useSyncExternalStoreWithSelector:P1}=N1,I1=t=>t;function cg(t,r=I1,o){const l=P1(t.subscribe,t.getState,t.getServerState||t.getInitialState,r,o);return M1(l),l}const Ph=(t,r)=>{const o=j1(t),l=(a,c=r)=>cg(o,a,c);return Object.assign(l,o),l},T1=(t,r)=>t?Ph(t,r):Ph;function Ue(t,r){if(Object.is(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(const[l,a]of t)if(!Object.is(a,r.get(l)))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(const l of t)if(!r.has(l))return!1;return!0}const o=Object.keys(t);if(o.length!==Object.keys(r).length)return!1;for(const l of o)if(!Object.prototype.hasOwnProperty.call(r,l)||!Object.is(t[l],r[l]))return!1;return!0}rp();const xl=W.createContext(null),z1=xl.Provider,dg=qt.error001("react");function Te(t,r){const o=W.useContext(xl);if(o===null)throw new Error(dg);return cg(o,t,r)}function be(){const t=W.useContext(xl);if(t===null)throw new Error(dg);return W.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const Ih={display:"none"},R1={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},fg="react-flow__node-desc",hg="react-flow__edge-desc",L1="react-flow__aria-live",A1=t=>t.ariaLiveMessage,$1=t=>t.ariaLabelConfig;function D1({rfId:t}){const r=Te(A1);return x.jsx("div",{id:`${L1}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:R1,children:r})}function O1({rfId:t,disableKeyboardA11y:r}){const o=Te($1);return x.jsxs(x.Fragment,{children:[x.jsx("div",{id:`${fg}-${t}`,style:Ih,children:r?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),x.jsx("div",{id:`${hg}-${t}`,style:Ih,children:o["edge.a11yDescription.default"]}),!r&&x.jsx(D1,{rfId:t})]})}const wl=W.forwardRef(({position:t="top-left",children:r,className:o,style:l,...a},c)=>{const d=`${t}`.split("-");return x.jsx("div",{className:Qe(["react-flow__panel",o,...d]),style:l,ref:c,...a,children:r})});wl.displayName="Panel";const Th="https://reactflow.dev?utm_source=attribution";function b1({proOptions:t,position:r="bottom-right"}){return t!=null&&t.hideAttribution?null:x.jsx(wl,{position:r,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Th}`,children:x.jsx("a",{href:Th,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const F1=t=>{const r=[],o=[];for(const[,l]of t.nodeLookup)l.selected&&r.push(l.internals.userNode);for(const[,l]of t.edgeLookup)l.selected&&o.push(l);return{selectedNodes:r,selectedEdges:o}},Ws=t=>t.id;function H1(t,r){return Ue(t.selectedNodes.map(Ws),r.selectedNodes.map(Ws))&&Ue(t.selectedEdges.map(Ws),r.selectedEdges.map(Ws))}function V1({onSelectionChange:t}){const r=be(),{selectedNodes:o,selectedEdges:l}=Te(F1,H1);return W.useEffect(()=>{const a={nodes:o,edges:l};t==null||t(a),r.getState().onSelectionChangeHandlers.forEach(c=>c(a))},[o,l,t]),null}const B1=t=>!!t.onSelectionChangeHandlers;function U1({onSelectionChange:t}){const r=Te(B1);return t||r?x.jsx(V1,{onSelectionChange:t}):null}const pg=[0,0],W1={x:0,y:0,zoom:1},Y1=["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"],zh=[...Y1,"rfId"],X1=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),Rh={translateExtent:so,nodeOrigin:pg,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Q1(t){const{setNodes:r,setEdges:o,setMinZoom:l,setMaxZoom:a,setTranslateExtent:c,setNodeExtent:d,reset:h,setDefaultNodesAndEdges:p}=Te(X1,Ue),y=be();W.useEffect(()=>(p(t.defaultNodes,t.defaultEdges),()=>{m.current=Rh,h()}),[]);const m=W.useRef(Rh);return W.useEffect(()=>{for(const v of zh){const g=t[v],S=m.current[v];g!==S&&(typeof t[v]>"u"||(v==="nodes"?r(g):v==="edges"?o(g):v==="minZoom"?l(g):v==="maxZoom"?a(g):v==="translateExtent"?c(g):v==="nodeExtent"?d(g):v==="ariaLabelConfig"?y.setState({ariaLabelConfig:zw(g)}):v==="fitView"?y.setState({fitViewQueued:g}):v==="fitViewOptions"?y.setState({fitViewOptions:g}):y.setState({[v]:g})))}m.current=t},zh.map(v=>t[v])),null}function Lh(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function K1(t){var l;const[r,o]=W.useState(t==="system"?null:t);return W.useEffect(()=>{if(t!=="system"){o(t);return}const a=Lh(),c=()=>o(a!=null&&a.matches?"dark":"light");return c(),a==null||a.addEventListener("change",c),()=>{a==null||a.removeEventListener("change",c)}},[t]),r!==null?r:(l=Lh())!=null&&l.matches?"dark":"light"}const Ah=typeof document<"u"?document:null;function co(t=null,r={target:Ah,actInsideInputWithModifier:!0}){const[o,l]=W.useState(!1),a=W.useRef(!1),c=W.useRef(new Set([])),[d,h]=W.useMemo(()=>{if(t!==null){const y=(Array.isArray(t)?t:[t]).filter(v=>typeof v=="string").map(v=>v.replace(/\+/g,` +`).replace(` + +`,` ++`).split(` +`)),m=y.reduce((v,g)=>v.concat(...g),[]);return[y,m]}return[[],[]]},[t]);return W.useEffect(()=>{const p=(r==null?void 0:r.target)??Ah,y=(r==null?void 0:r.actInsideInputWithModifier)??!0;if(t!==null){const m=S=>{var k,E;if(a.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!a.current||a.current&&!y)&&Xp(S))return!1;const M=Dh(S.code,h);if(c.current.add(S[M]),$h(d,c.current,!1)){const z=((E=(k=S.composedPath)==null?void 0:k.call(S))==null?void 0:E[0])||S.target,N=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";r.preventDefault!==!1&&(a.current||!N)&&S.preventDefault(),l(!0)}},v=S=>{const _=Dh(S.code,h);$h(d,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(S[_]),S.key==="Meta"&&c.current.clear(),a.current=!1},g=()=>{c.current.clear(),l(!1)};return p==null||p.addEventListener("keydown",m),p==null||p.addEventListener("keyup",v),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{p==null||p.removeEventListener("keydown",m),p==null||p.removeEventListener("keyup",v),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[t,l]),o}function $h(t,r,o){return t.filter(l=>o||l.length===r.size).some(l=>l.every(a=>r.has(a)))}function Dh(t,r){return r.includes(t)?"code":"key"}const G1=()=>{const t=be();return W.useMemo(()=>({zoomIn:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1.2,r):!1},zoomOut:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1/1.2,r):!1},zoomTo:async(r,o)=>{const{panZoom:l}=t.getState();return l?l.scaleTo(r,o):!1},getZoom:()=>t.getState().transform[2],setViewport:async(r,o)=>{const{transform:[l,a,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:r.x??l,y:r.y??a,zoom:r.zoom??c},o),!0):!1},getViewport:()=>{const[r,o,l]=t.getState().transform;return{x:r,y:o,zoom:l}},setCenter:async(r,o,l)=>t.getState().setCenter(r,o,l),fitBounds:async(r,o)=>{const{width:l,height:a,minZoom:c,maxZoom:d,panZoom:h}=t.getState(),p=oc(r,l,a,c,d,(o==null?void 0:o.padding)??.1);return h?(await h.setViewport(p,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),!0):!1},screenToFlowPosition:(r,o={})=>{const{transform:l,snapGrid:a,snapToGrid:c,domNode:d}=t.getState();if(!d)return r;const{x:h,y:p}=d.getBoundingClientRect(),y={x:r.x-h,y:r.y-p},m=o.snapGrid??a,v=o.snapToGrid??c;return xo(y,l,v,m)},flowToScreenPosition:r=>{const{transform:o,domNode:l}=t.getState();if(!l)return r;const{x:a,y:c}=l.getBoundingClientRect(),d=ii(r,o);return{x:d.x+a,y:d.y+c}}}),[])};function gg(t,r){const o=[],l=new Map,a=[];for(const c of t)if(c.type==="add"){a.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const d=l.get(c.id);d?d.push(c):l.set(c.id,[c])}for(const c of r){const d=l.get(c.id);if(!d){o.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){o.push({...d[0].item});continue}const h={...c};for(const p of d)q1(p,h);o.push(h)}return a.length&&a.forEach(c=>{c.index!==void 0?o.splice(c.index,0,{...c.item}):o.push({...c.item})}),o}function q1(t,r){switch(t.type){case"select":{r.selected=t.selected;break}case"position":{typeof t.position<"u"&&(r.position=t.position),typeof t.dragging<"u"&&(r.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(r.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(r.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(r.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(r.resizing=t.resizing);break}}}function Z1(t,r){return gg(t,r)}function J1(t,r){return gg(t,r)}function fr(t,r){return{id:t,type:"select",selected:r}}function qr(t,r=new Set,o=!1){const l=[];for(const[a,c]of t){const d=r.has(a);!(c.selected===void 0&&!d)&&c.selected!==d&&(o&&(c.selected=d),l.push(fr(c.id,d)))}return l}function Oh({items:t=[],lookup:r}){var a;const o=[],l=new Map(t.map(c=>[c.id,c]));for(const[c,d]of t.entries()){const h=r.get(d.id),p=((a=h==null?void 0:h.internals)==null?void 0:a.userNode)??h;p!==void 0&&p!==d&&o.push({id:d.id,item:d,type:"replace"}),p===void 0&&o.push({item:d,type:"add",index:c})}for(const[c]of r)l.get(c)===void 0&&o.push({id:c,type:"remove"});return o}function bh(t){return{id:t.id,type:"remove"}}const eS=Bp();function tS(t,r,o={}){return Ow(t,r,{...o,onError:o.onError??eS})}const Fh=t=>kw(t),nS=t=>Op(t);function mg(t){return W.forwardRef(t)}const yg=typeof window<"u"?W.useLayoutEffect:W.useEffect;function Hh(t){const[r,o]=W.useState(BigInt(0)),[l]=W.useState(()=>rS(()=>o(a=>a+BigInt(1))));return yg(()=>{const a=l.get();a.length&&(t(a),l.reset())},[r]),l}function rS(t){let r=[];return{get:()=>r,reset:()=>{r=[]},push:o=>{r.push(o),t()}}}const vg=W.createContext(null);function iS({children:t}){const r=be(),o=W.useCallback(h=>{const{nodes:p=[],setNodes:y,hasDefaultNodes:m,onNodesChange:v,nodeLookup:g,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=r.getState();let M=p;for(const E of h)M=typeof E=="function"?E(M):E;let k=Oh({items:M,lookup:g});for(const E of _.values())k=E(k);m&&y(M),k.length>0?v==null||v(k):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:N}=r.getState();E&&N(z)})},[]),l=Hh(o),a=W.useCallback(h=>{const{edges:p=[],setEdges:y,hasDefaultEdges:m,onEdgesChange:v,edgeLookup:g}=r.getState();let S=p;for(const _ of h)S=typeof _=="function"?_(S):_;m?y(S):v&&v(Oh({items:S,lookup:g}))},[]),c=Hh(a),d=W.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return x.jsx(vg.Provider,{value:d,children:t})}function oS(){const t=W.useContext(vg);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const sS=t=>!!t.panZoom;function fc(){const t=G1(),r=be(),o=oS(),l=Te(sS),a=W.useMemo(()=>{const c=v=>r.getState().nodeLookup.get(v),d=v=>{o.nodeQueue.push(v)},h=v=>{o.edgeQueue.push(v)},p=v=>{var E,z;const{nodeLookup:g,nodeOrigin:S}=r.getState(),_=Fh(v)?v:g.get(v.id),M=_.parentId?Wp(_.position,_.measured,_.parentId,g,S):_.position,k={..._,position:M,width:((E=_.measured)==null?void 0:E.width)??_.width,height:((z=_.measured)==null?void 0:z.height)??_.height};return ao(k)},y=(v,g,S={replace:!1})=>{d(_=>_.map(M=>{if(M.id===v){const k=typeof g=="function"?g(M):g;return S.replace&&Fh(k)?k:{...M,...k}}return M}))},m=(v,g,S={replace:!1})=>{h(_=>_.map(M=>{if(M.id===v){const k=typeof g=="function"?g(M):g;return S.replace&&nS(k)?k:{...M,...k}}return M}))};return{getNodes:()=>r.getState().nodes.map(v=>({...v})),getNode:v=>{var g;return(g=c(v))==null?void 0:g.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:v=[]}=r.getState();return v.map(g=>({...g}))},getEdge:v=>r.getState().edgeLookup.get(v),setNodes:d,setEdges:h,addNodes:v=>{const g=Array.isArray(v)?v:[v];o.nodeQueue.push(S=>[...S,...g])},addEdges:v=>{const g=Array.isArray(v)?v:[v];o.edgeQueue.push(S=>[...S,...g])},toObject:()=>{const{nodes:v=[],edges:g=[],transform:S}=r.getState(),[_,M,k]=S;return{nodes:v.map(E=>({...E})),edges:g.map(E=>({...E})),viewport:{x:_,y:M,zoom:k}}},deleteElements:async({nodes:v=[],edges:g=[]})=>{const{nodes:S,edges:_,onNodesDelete:M,onEdgesDelete:k,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:N,onBeforeDelete:P}=r.getState(),{nodes:b,edges:$}=await Mw({nodesToRemove:v,edgesToRemove:g,nodes:S,edges:_,onBeforeDelete:P}),H=$.length>0,X=b.length>0;if(H){const K=$.map(bh);k==null||k($),z(K)}if(X){const K=b.map(bh);M==null||M(b),E(K)}return(X||H)&&(N==null||N({nodes:b,edges:$})),{deletedNodes:b,deletedEdges:$}},getIntersectingNodes:(v,g=!0,S)=>{const _=dh(v),M=_?v:p(v),k=S!==void 0;return M?(S||r.getState().nodes).filter(E=>{const z=r.getState().nodeLookup.get(E.id);if(z&&!_&&(E.id===v.id||!z.internals.positionAbsolute))return!1;const N=ao(k?E:z),P=ll(N,M);return g&&P>0||P>=N.width*N.height||P>=M.width*M.height}):[]},isNodeIntersecting:(v,g,S=!0)=>{const M=dh(v)?v:p(v);if(!M)return!1;const k=ll(M,g);return S&&k>0||k>=g.width*g.height||k>=M.width*M.height},updateNode:y,updateNodeData:(v,g,S={replace:!1})=>{y(v,_=>{const M=typeof g=="function"?g(_):g;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},updateEdge:m,updateEdgeData:(v,g,S={replace:!1})=>{m(v,_=>{const M=typeof g=="function"?g(_):g;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},getNodesBounds:v=>{const{nodeLookup:g,nodeOrigin:S}=r.getState();return Ew(v,{nodeLookup:g,nodeOrigin:S})},getHandleConnections:({type:v,id:g,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}-${v}${g?`-${g}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:v,handleId:g,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}${v?g?`-${v}-${g}`:`-${v}`:""}`))==null?void 0:_.values())??[])},fitView:async v=>{const g=r.getState().fitViewResolver??Tw();return r.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:g}),o.nodeQueue.push(S=>[...S]),g.promise}}},[]);return W.useMemo(()=>({...a,...t,viewportInitialized:l}),[l])}const Vh=t=>t.selected,lS=typeof window<"u"?window:void 0;function aS({deleteKeyCode:t,multiSelectionKeyCode:r}){const o=be(),{deleteElements:l}=fc(),a=co(t,{actInsideInputWithModifier:!1}),c=co(r,{target:lS});W.useEffect(()=>{if(a){const{edges:d,nodes:h}=o.getState();l({nodes:h.filter(Vh),edges:d.filter(Vh)}),o.setState({nodesSelectionActive:!1})}},[a]),W.useEffect(()=>{o.setState({multiSelectionActive:c})},[c])}function uS(t){const r=be();W.useEffect(()=>{const o=()=>{var a,c,d,h;if(!t.current||!(((c=(a=t.current).checkVisibility)==null?void 0:c.call(a))??!0))return!1;const l=sc(t.current);(l.height===0||l.width===0)&&((h=(d=r.getState()).onError)==null||h.call(d,"004",qt.error004())),r.setState({width:l.width||500,height:l.height||500})};if(t.current){o(),window.addEventListener("resize",o);const l=new ResizeObserver(()=>o());return l.observe(t.current),()=>{window.removeEventListener("resize",o),l&&t.current&&l.unobserve(t.current)}}},[])}const Sl={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function dS({onPaneContextMenu:t,zoomOnScroll:r=!0,zoomOnPinch:o=!0,panOnScroll:l=!1,panActivationKeyPressed:a,panOnScrollSpeed:c=.5,panOnScrollMode:d=gr.Free,zoomOnDoubleClick:h=!0,panOnDrag:p=!0,defaultViewport:y,translateExtent:m,minZoom:v,maxZoom:g,zoomActivationKeyCode:S,preventScrolling:_=!0,children:M,noWheelClassName:k,noPanClassName:E,onViewportChange:z,isControlledViewport:N,paneClickDistance:P,selectionOnDrag:b}){const $=be(),H=W.useRef(null),{userSelectionActive:X,lib:K,connectionInProgress:ne}=Te(cS,Ue),Z=co(S),te=W.useRef();uS(H);const J=W.useCallback(C=>{z==null||z({x:C[0],y:C[1],zoom:C[2]}),N||$.setState({transform:C})},[z,N]);return W.useEffect(()=>{if(H.current){te.current=p1({domNode:H.current,minZoom:v,maxZoom:g,translateExtent:m,viewport:y,onDraggingChange:V=>$.setState(A=>A.paneDragging===V?A:{paneDragging:V}),onPanZoomStart:(V,A)=>{const{onViewportChangeStart:L,onMoveStart:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoom:(V,A)=>{const{onViewportChange:L,onMove:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoomEnd:(V,A)=>{const{onViewportChangeEnd:L,onMoveEnd:O}=$.getState();O==null||O(V,A),L==null||L(A)}});const{x:C,y:B,zoom:F}=te.current.getViewport();return $.setState({panZoom:te.current,transform:[C,B,F],domNode:H.current.closest(".react-flow")}),()=>{var V;(V=te.current)==null||V.destroy()}}},[]),W.useEffect(()=>{var C;(C=te.current)==null||C.update({onPaneContextMenu:t,zoomOnScroll:r,zoomOnPinch:o,panOnScroll:l,panActivationKeyPressed:a,panOnScrollSpeed:c,panOnScrollMode:d,zoomOnDoubleClick:h,panOnDrag:p,zoomActivationKeyPressed:Z,preventScrolling:_,noPanClassName:E,userSelectionActive:X,noWheelClassName:k,lib:K,onTransformChange:J,connectionInProgress:ne,selectionOnDrag:b,paneClickDistance:P})},[t,r,o,l,a,c,d,h,p,Z,_,E,X,k,K,J,ne,b,P]),x.jsx("div",{className:"react-flow__renderer",ref:H,style:Sl,children:M})}const fS=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function hS(){const{userSelectionActive:t,userSelectionRect:r}=Te(fS,Ue);return t&&r?x.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const Tu=(t,r)=>o=>{o.target===r.current&&(t==null||t(o))},pS=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function gS({isSelecting:t,selectionKeyPressed:r,selectionMode:o=lo.Full,panOnDrag:l,autoPanOnSelection:a,paneClickDistance:c,selectionOnDrag:d,onSelectionStart:h,onSelectionEnd:p,onPaneClick:y,onPaneContextMenu:m,onPaneScroll:v,onPaneMouseEnter:g,onPaneMouseMove:S,onPaneMouseLeave:_,children:M}){const k=W.useRef(0),E=be(),{userSelectionActive:z,elementsSelectable:N,dragging:P,panBy:b,autoPanSpeed:$}=Te(pS,Ue),H=N&&(t||z),X=W.useRef(null),K=W.useRef(),ne=W.useRef(new Set),Z=W.useRef(new Set),te=W.useRef(!1),J=W.useRef(!1),C=W.useRef({x:0,y:0}),B=W.useRef(!1),F=Q=>{if(J.current||te.current||E.getState().connection.inProgress){J.current=!1,te.current=!1;return}y==null||y(Q),E.getState().resetSelectedElements(),E.setState({nodesSelectionActive:!1})},V=Q=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Q.preventDefault();return}m==null||m(Q)},A=v?Q=>v(Q):void 0,L=Q=>{J.current&&(Q.stopPropagation(),J.current=!1)},O=Q=>{var ze,Ze;if(Q.pointerType==="touch"&&l!==!1&&!r)return;const{domNode:se,transform:pe}=E.getState();if(K.current=se==null?void 0:se.getBoundingClientRect(),!K.current)return;const Se=Q.target===X.current;if(!Se&&!!Q.target.closest(".nokey")||!t||!(d&&Se||r)||Q.button!==0||!Q.isPrimary)return;(Ze=(ze=Q.target)==null?void 0:ze.setPointerCapture)==null||Ze.call(ze,Q.pointerId),J.current=!1;const{x:Ce,y:Me}=Gt(Q.nativeEvent,K.current),Pe=xo({x:Ce,y:Me},pe);E.setState({userSelectionRect:{width:0,height:0,startX:Pe.x,startY:Pe.y,x:Ce,y:Me}}),Se||(Q.stopPropagation(),Q.preventDefault())};function j(Q,se){const{userSelectionRect:pe}=E.getState();if(!pe)return;const{transform:Se,nodeLookup:ve,edgeLookup:me,connectionLookup:Ce,triggerNodeChanges:Me,triggerEdgeChanges:Pe,defaultEdgeOptions:ze}=E.getState(),Ze={x:pe.startX,y:pe.startY},{x:lt,y:Je}=ii(Ze,Se),et={startX:Ze.x,startY:Ze.y,x:Qit.id)),Z.current=new Set;const Et=(ze==null?void 0:ze.selectable)??!0;for(const it of ne.current){const ft=Ce.get(it);if(ft)for(const{edgeId:q}of ft.values()){const we=me.get(q);we&&(we.selectable??Et)&&Z.current.add(q)}}if(!fh(Lt,ne.current)){const it=qr(ve,ne.current,!0);Me(it)}if(!fh(kt,Z.current)){const it=qr(me,Z.current);Pe(it)}E.setState({userSelectionRect:et,userSelectionActive:!0,nodesSelectionActive:!1})}function T(){if(!a||!K.current)return;const[Q,se]=ic(C.current,K.current,$);b({x:Q,y:se}).then(pe=>{if(!J.current||!pe){k.current=requestAnimationFrame(T);return}const{x:Se,y:ve}=C.current;j(Se,ve),k.current=requestAnimationFrame(T)})}const ee=()=>{cancelAnimationFrame(k.current),k.current=0,B.current=!1};W.useEffect(()=>()=>ee(),[]);const re=Q=>{const{userSelectionRect:se,transform:pe,resetSelectedElements:Se}=E.getState();if(!K.current||!se)return;const{x:ve,y:me}=Gt(Q.nativeEvent,K.current);C.current={x:ve,y:me};const Ce=ii({x:se.startX,y:se.startY},pe);if(!J.current){const Me=r?0:c;if(Math.hypot(ve-Ce.x,me-Ce.y)<=Me)return;Se(),h==null||h(Q)}J.current=!0,B.current||(T(),B.current=!0),j(ve,me)},ue=Q=>{var se,pe;if(!H){Q.target===X.current&&E.getState().connection.inProgress&&(te.current=!0);return}Q.button===0&&((pe=(se=Q.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,Q.pointerId),!z&&Q.target===X.current&&E.getState().userSelectionRect&&(F==null||F(Q)),E.setState({userSelectionActive:!1,userSelectionRect:null}),J.current&&(p==null||p(Q),E.setState({nodesSelectionActive:ne.current.size>0})),ee())},de=Q=>{var se,pe;(pe=(se=Q.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,Q.pointerId),ee()},ce=l===!0||Array.isArray(l)&&l.includes(0);return x.jsxs("div",{className:Qe(["react-flow__pane",{draggable:ce,dragging:P,selection:t}]),onClick:H?void 0:Tu(F,X),onContextMenu:Tu(V,X),onWheel:Tu(A,X),onPointerEnter:H?void 0:g,onPointerMove:H?re:S,onPointerUp:ue,onPointerCancel:H?de:void 0,onPointerDownCapture:H?O:void 0,onClickCapture:H?L:void 0,onPointerLeave:_,ref:X,style:Sl,children:[M,x.jsx(hS,{})]})}function Xu({id:t,store:r,unselect:o=!1,nodeRef:l}){const{addSelectedNodes:a,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:h,onError:p}=r.getState(),y=h.get(t);if(!y){p==null||p("012",qt.error012(t));return}r.setState({nodesSelectionActive:!1}),y.selected?(o||y.selected&&d)&&(c({nodes:[y],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):a([t])}function xg({nodeRef:t,disabled:r=!1,noDragClassName:o,handleSelector:l,nodeId:a,isSelectable:c,nodeClickDistance:d}){const h=be(),[p,y]=W.useState(!1),m=W.useRef();return W.useEffect(()=>{if(!r)return m.current=e1({getStoreItems:()=>h.getState(),onNodeMouseDown:v=>{Xu({id:v,store:h,nodeRef:t})},onDragStart:()=>{y(!0)},onDragStop:()=>{y(!1)}}),()=>{var v;(v=m.current)==null||v.destroy(),m.current=void 0}},[r,h,t]),W.useEffect(()=>{r||!t.current||!m.current||m.current.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:c,nodeId:a,nodeClickDistance:d})},[o,l,r,c,t,a,d]),p}const mS=t=>r=>r.selected&&(r.draggable||t&&typeof r.draggable>"u");function wg(){const t=be();return W.useCallback(o=>{const{nodeExtent:l,snapToGrid:a,snapGrid:c,nodesDraggable:d,onError:h,updateNodePositions:p,nodeLookup:y,nodeOrigin:m}=t.getState(),v=new Map,g=mS(d),S=a?c[0]:5,_=a?c[1]:5,M=o.direction.x*S*o.factor,k=o.direction.y*_*o.factor;for(const[,E]of y){if(!g(E))continue;let z={x:E.internals.positionAbsolute.x+M,y:E.internals.positionAbsolute.y+k};a&&(z=vo(z,c));const{position:N,positionAbsolute:P}=bp({nodeId:E.id,nextPosition:z,nodeLookup:y,nodeExtent:l,nodeOrigin:m,onError:h});E.position=N,E.internals.positionAbsolute=P,v.set(E.id,E)}p(v)},[])}const hc=W.createContext(null),yS=hc.Provider;hc.Consumer;const Sg=()=>W.useContext(hc),vS=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),_g=W.createContext(null);function xS({children:t}){const r=Te(vS,Ue);return x.jsx(_g.Provider,{value:r,children:t})}function wS(){const t=W.useContext(_g);if(!t)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return t}const SS={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},_S=(t,r,o)=>l=>{const{connectionClickStartHandle:a,connectionMode:c,connection:d}=l,{fromHandle:h,toHandle:p,isValid:y}=d;if(!h&&!a)return SS;const m=(p==null?void 0:p.nodeId)===t&&(p==null?void 0:p.id)===r&&(p==null?void 0:p.type)===o;return{connectingFrom:(h==null?void 0:h.nodeId)===t&&(h==null?void 0:h.id)===r&&(h==null?void 0:h.type)===o,connectingTo:m,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.id)===r&&(a==null?void 0:a.type)===o,isPossibleEndHandle:c===ni.Strict?(h==null?void 0:h.type)!==o:t!==(h==null?void 0:h.nodeId)||r!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!a,valid:m&&y}};function kS({type:t="source",position:r=_e.Top,isValidConnection:o,isConnectable:l=!0,isConnectableStart:a=!0,isConnectableEnd:c=!0,id:d,onConnect:h,children:p,className:y,onMouseDown:m,onTouchStart:v,...g},S){var B,F;const _=d||null,M=t==="target",k=be(),E=Sg(),{connectOnClick:z,noPanClassName:N,rfId:P}=wS(),{connectingFrom:b,connectingTo:$,clickConnecting:H,isPossibleEndHandle:X,connectionInProcess:K,clickConnectionInProcess:ne,valid:Z}=Te(_S(E,_,t),Ue);E||(F=(B=k.getState()).onError)==null||F.call(B,"010",qt.error010());const te=V=>{const{defaultEdgeOptions:A,onConnect:L,hasDefaultEdges:O}=k.getState(),j={...A,...V};if(O){const{edges:T,setEdges:ee,onError:re}=k.getState();ee(tS(j,T,{onError:re}))}L==null||L(j),h==null||h(j)},J=V=>{if(!E)return;const A=Qp(V.nativeEvent);if(a&&(A&&V.button===0||!A)){const L=k.getState();Yu.onPointerDown(V.nativeEvent,{handleDomNode:V.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:M,handleId:_,nodeId:E,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...O)=>{var j,T;return(T=(j=k.getState()).onConnectEnd)==null?void 0:T.call(j,...O)},updateConnection:L.updateConnection,onConnect:te,isValidConnection:o||((...O)=>{var j,T;return((T=(j=k.getState()).isValidConnection)==null?void 0:T.call(j,...O))??!0}),getTransform:()=>k.getState().transform,getFromHandle:()=>k.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}A?m==null||m(V):v==null||v(V)},C=V=>{const{onClickConnectStart:A,onClickConnectEnd:L,connectionClickStartHandle:O,connectionMode:j,isValidConnection:T,lib:ee,rfId:re,nodeLookup:ue,connection:de}=k.getState();if(!E||!O&&!a)return;if(!O){A==null||A(V.nativeEvent,{nodeId:E,handleId:_,handleType:t}),k.setState({connectionClickStartHandle:{nodeId:E,type:t,id:_}});return}const ce=Yp(V.target),Q=o||T,{connection:se,isValid:pe}=Yu.isValid(V.nativeEvent,{handle:{nodeId:E,id:_,type:t},connectionMode:j,fromNodeId:O.nodeId,fromHandleId:O.id||null,fromType:O.type,isValidConnection:Q,flowId:re,doc:ce,lib:ee,nodeLookup:ue});pe&&se&&te(se);const Se=structuredClone(de);delete Se.inProgress,Se.toPosition=Se.toHandle?Se.toHandle.position:null,L==null||L(V,Se),k.setState({connectionClickStartHandle:null})};return x.jsx("div",{"data-handleid":_,"data-nodeid":E,"data-handlepos":r,"data-id":`${P}-${E}-${_}-${t}`,className:Qe(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",N,y,{source:!M,target:M,connectable:l,connectablestart:a,connectableend:c,clickconnecting:H,connectingfrom:b,connectingto:$,valid:Z,connectionindicator:l&&(!K||X)&&(K||ne?c:a)}]),onMouseDown:J,onTouchStart:J,onClick:z?C:void 0,ref:S,...g,children:p})}const al=W.memo(mg(kS));function ES({data:t,isConnectable:r,sourcePosition:o=_e.Bottom}){return x.jsxs(x.Fragment,{children:[t==null?void 0:t.label,x.jsx(al,{type:"source",position:o,isConnectable:r})]})}function NS({data:t,isConnectable:r,targetPosition:o=_e.Top,sourcePosition:l=_e.Bottom}){return x.jsxs(x.Fragment,{children:[x.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label,x.jsx(al,{type:"source",position:l,isConnectable:r})]})}function CS(){return null}function jS({data:t,isConnectable:r,targetPosition:o=_e.Top}){return x.jsxs(x.Fragment,{children:[x.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label]})}const ul={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Bh={input:ES,default:NS,output:jS,group:CS};function MS(t){var r,o,l,a;return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??((r=t.style)==null?void 0:r.width),height:t.height??t.initialHeight??((o=t.style)==null?void 0:o.height)}:{width:t.width??((l=t.style)==null?void 0:l.width),height:t.height??((a=t.style)==null?void 0:a.height)}}const PS=t=>{const{width:r,height:o,x:l,y:a}=yo(t.nodeLookup,{filter:c=>!!c.selected});return{width:Kt(r)?r:null,height:Kt(o)?o:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${l}px,${a}px)`}};function IS({onSelectionContextMenu:t,noPanClassName:r,disableKeyboardA11y:o}){const l=be(),{width:a,height:c,transformString:d,userSelectionActive:h}=Te(PS,Ue),p=wg(),y=W.useRef(null);W.useEffect(()=>{var S;o||(S=y.current)==null||S.focus({preventScroll:!0})},[o]);const m=!h&&a!==null&&c!==null;if(xg({nodeRef:y,disabled:!m}),!m)return null;const v=t?S=>{const _=l.getState().nodes.filter(M=>M.selected);t(S,_)}:void 0,g=S=>{Object.prototype.hasOwnProperty.call(ul,S.key)&&(S.preventDefault(),p({direction:ul[S.key],factor:S.shiftKey?4:1}))};return x.jsx("div",{className:Qe(["react-flow__nodesselection","react-flow__container",r]),style:{transform:d},children:x.jsx("div",{ref:y,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:o?void 0:-1,onKeyDown:o?void 0:g,style:{width:a,height:c}})})}const Uh=typeof window<"u"?window:void 0,TS=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function kg({children:t,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:y,selectionOnDrag:m,selectionMode:v,onSelectionStart:g,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:M,zoomActivationKeyCode:k,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:N,panOnScroll:P,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:X,autoPanOnSelection:K,defaultViewport:ne,translateExtent:Z,minZoom:te,maxZoom:J,preventScrolling:C,onSelectionContextMenu:B,noWheelClassName:F,noPanClassName:V,disableKeyboardA11y:A,onViewportChange:L,isControlledViewport:O}){const{nodesSelectionActive:j,userSelectionActive:T}=Te(TS,Ue),ee=co(y,{target:Uh}),re=co(M,{target:Uh}),ue=re||X,de=re||P,ce=m&&ue!==!0,Q=ee||T||ce;return aS({deleteKeyCode:p,multiSelectionKeyCode:_}),x.jsx(dS,{onPaneContextMenu:c,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:N,panOnScroll:de,panActivationKeyPressed:re,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:!ee&&ue,defaultViewport:ne,translateExtent:Z,minZoom:te,maxZoom:J,zoomActivationKeyCode:k,preventScrolling:C,noWheelClassName:F,noPanClassName:V,onViewportChange:L,isControlledViewport:O,paneClickDistance:h,selectionOnDrag:ce,children:x.jsxs(gS,{onSelectionStart:g,onSelectionEnd:S,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:ue,autoPanOnSelection:K,isSelecting:!!Q,selectionMode:v,selectionKeyPressed:ee,paneClickDistance:h,selectionOnDrag:ce,children:[t,j&&x.jsx(IS,{onSelectionContextMenu:B,noPanClassName:V,disableKeyboardA11y:A})]})})}kg.displayName="FlowRenderer";const zS=W.memo(kg),RS=t=>r=>t?rc(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(o=>o.id):Array.from(r.nodeLookup.keys());function LS(t){return Te(W.useCallback(RS(t),[t]),Ue)}const AS=t=>t.updateNodeInternals;function $S(){const t=Te(AS),[r]=W.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(o=>{const l=new Map;o.forEach(a=>{const c=a.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:a.target,force:!0})}),t(l)}));return W.useEffect(()=>()=>{r==null||r.disconnect()},[r]),r}function DS({node:t,nodeType:r,hasDimensions:o,resizeObserver:l}){const a=be(),c=W.useRef(null),d=W.useRef(null),h=W.useRef(t.sourcePosition),p=W.useRef(t.targetPosition),y=W.useRef(r),m=o&&!!t.internals.handleBounds;return W.useEffect(()=>{c.current&&!t.hidden&&(!m||d.current!==c.current)&&(d.current&&(l==null||l.unobserve(d.current)),l==null||l.observe(c.current),d.current=c.current)},[m,t.hidden]),W.useEffect(()=>()=>{d.current&&(l==null||l.unobserve(d.current),d.current=null)},[]),W.useEffect(()=>{if(c.current){const v=y.current!==r,g=h.current!==t.sourcePosition,S=p.current!==t.targetPosition;(v||g||S)&&(y.current=r,h.current=t.sourcePosition,p.current=t.targetPosition,a.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,r,t.sourcePosition,t.targetPosition]),c}function OS({id:t,onClick:r,onMouseEnter:o,onMouseMove:l,onMouseLeave:a,onContextMenu:c,onDoubleClick:d,nodesDraggable:h,elementsSelectable:p,nodesConnectable:y,nodesFocusable:m,resizeObserver:v,noDragClassName:g,noPanClassName:S,disableKeyboardA11y:_,rfId:M,nodeTypes:k,nodeClickDistance:E,onError:z}){const{node:N,internals:P,isParent:b}=Te(Q=>{const se=Q.nodeLookup.get(t),pe=Q.parentLookup.has(t);return{node:se,internals:se.internals,isParent:pe}},Ue);let $=N.type||"default",H=(k==null?void 0:k[$])||Bh[$];H===void 0&&(z==null||z("003",qt.error003($)),$="default",H=(k==null?void 0:k.default)||Bh.default);const X=!!(N.draggable||h&&typeof N.draggable>"u"),K=!!(N.selectable||p&&typeof N.selectable>"u"),ne=!!(N.connectable||y&&typeof N.connectable>"u"),Z=!!(N.focusable||m&&typeof N.focusable>"u"),te=be(),J=Up(N),C=DS({node:N,nodeType:$,hasDimensions:J,resizeObserver:v}),B=xg({nodeRef:C,disabled:N.hidden||!X,noDragClassName:g,handleSelector:N.dragHandle,nodeId:t,isSelectable:K,nodeClickDistance:E}),F=wg();if(N.hidden)return null;const V=Jt(N),A=MS(N),L=K||X||r||o||l||a,O=o?Q=>o(Q,{...P.userNode}):void 0,j=l?Q=>l(Q,{...P.userNode}):void 0,T=a?Q=>a(Q,{...P.userNode}):void 0,ee=c?Q=>c(Q,{...P.userNode}):void 0,re=d?Q=>d(Q,{...P.userNode}):void 0,ue=Q=>{const{selectNodesOnDrag:se,nodeDragThreshold:pe}=te.getState();K&&(!se||!X||pe>0)&&Xu({id:t,store:te,nodeRef:C}),r&&r(Q,{...P.userNode})},de=Q=>{if(!(Xp(Q.nativeEvent)||_)){if(Lp.includes(Q.key)&&K){const se=Q.key==="Escape";Xu({id:t,store:te,unselect:se,nodeRef:C})}else if(X&&N.selected&&Object.prototype.hasOwnProperty.call(ul,Q.key)){Q.preventDefault();const{ariaLabelConfig:se}=te.getState();te.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:Q.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),F({direction:ul[Q.key],factor:Q.shiftKey?4:1})}}},ce=()=>{var Ce;if(_||!((Ce=C.current)!=null&&Ce.matches(":focus-visible")))return;const{transform:Q,width:se,height:pe,autoPanOnNodeFocus:Se,setCenter:ve}=te.getState();if(!Se)return;rc(new Map([[t,N]]),{x:0,y:0,width:se,height:pe},Q,!0).length>0||ve(N.position.x+V.width/2,N.position.y+V.height/2,{zoom:Q[2]})};return x.jsx("div",{className:Qe(["react-flow__node",`react-flow__node-${$}`,{[S]:X},N.className,{selected:N.selected,selectable:K,parent:b,draggable:X,dragging:B}]),ref:C,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:J?"visible":"hidden",...N.style,...A},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:O,onMouseMove:j,onMouseLeave:T,onContextMenu:ee,onClick:ue,onDoubleClick:re,onKeyDown:Z?de:void 0,tabIndex:Z?0:void 0,onFocus:Z?ce:void 0,role:N.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${fg}-${M}`,"aria-label":N.ariaLabel,...N.domAttributes,children:x.jsx(yS,{value:t,children:x.jsx(H,{id:t,data:N.data,type:$,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:N.selected??!1,selectable:K,draggable:X,deletable:N.deletable??!0,isConnectable:ne,sourcePosition:N.sourcePosition,targetPosition:N.targetPosition,dragging:B,dragHandle:N.dragHandle,zIndex:P.z,parentId:N.parentId,...V})})})}var bS=W.memo(OS);const FS=t=>({nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Eg(t){const{nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,onError:a}=Te(FS,Ue),c=LS(t.onlyRenderVisibleElements),d=$S();return x.jsx("div",{className:"react-flow__nodes",style:Sl,children:c.map(h=>x.jsx(bS,{id:h,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:d,nodesDraggable:t.nodesDraggable??!0,nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,nodeClickDistance:t.nodeClickDistance,onError:a},h))})}Eg.displayName="NodeRenderer";const HS=W.memo(Eg);function VS(t){return Te(W.useCallback(o=>{if(!t)return o.edges.map(a=>a.id);const l=[];if(o.width&&o.height)for(const a of o.edges){const c=o.nodeLookup.get(a.source),d=o.nodeLookup.get(a.target);c&&d&&Aw({sourceNode:c,targetNode:d,width:o.width,height:o.height,transform:o.transform})&&l.push(a.id)}return l},[t]),Ue)}const BS=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t}};return x.jsx("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},US=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t,fill:t}};return x.jsx("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Wh={[ol.Arrow]:BS,[ol.ArrowClosed]:US};function WS(t){const r=be();return W.useMemo(()=>{var a,c;return Object.prototype.hasOwnProperty.call(Wh,t)?Wh[t]:((c=(a=r.getState()).onError)==null||c.call(a,"009",qt.error009(t)),null)},[t])}const YS=({id:t,type:r,color:o,width:l=12.5,height:a=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:h="auto-start-reverse"})=>{const p=WS(r);return p?x.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${l}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:x.jsx(p,{color:o,strokeWidth:d})}):null},Ng=({defaultColor:t,rfId:r})=>{const o=Te(c=>c.edges),l=Te(c=>c.defaultEdgeOptions),a=W.useMemo(()=>Bw(o,{id:r,defaultColor:t,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[o,l,r,t]);return a.length?x.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:x.jsx("defs",{children:a.map(c=>x.jsx(YS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Ng.displayName="MarkerDefinitions";var XS=W.memo(Ng);function Cg({x:t,y:r,label:o,labelStyle:l,labelShowBg:a=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:h=2,children:p,className:y,...m}){const[v,g]=W.useState({x:1,y:0,width:0,height:0}),S=Qe(["react-flow__edge-textwrapper",y]),_=W.useRef(null);return W.useEffect(()=>{if(_.current){const M=_.current.getBBox();g({x:M.x,y:M.y,width:M.width,height:M.height})}},[o]),o?x.jsxs("g",{transform:`translate(${t-v.width/2} ${r-v.height/2})`,className:S,visibility:v.width?"visible":"hidden",...m,children:[a&&x.jsx("rect",{width:v.width+2*d[0],x:-d[0],y:-d[1],height:v.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),x.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:_,style:l,children:o}),p]}):null}Cg.displayName="EdgeText";const QS=W.memo(Cg);function _l({path:t,labelX:r,labelY:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:y=20,...m}){return x.jsxs(x.Fragment,{children:[x.jsx("path",{...m,d:t,fill:"none",className:Qe(["react-flow__edge-path",m.className])}),y?x.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:y,className:"react-flow__edge-interaction"}):null,l&&Kt(r)&&Kt(o)?x.jsx(QS,{x:r,y:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Yh({pos:t,x1:r,y1:o,x2:l,y2:a}){return t===_e.Left||t===_e.Right?[.5*(r+l),o]:[r,.5*(o+a)]}function jg({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top}){const[d,h]=Yh({pos:o,x1:t,y1:r,x2:l,y2:a}),[p,y]=Yh({pos:c,x1:l,y1:a,x2:t,y2:r}),[m,v,g,S]=Kp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:d,sourceControlY:h,targetControlX:p,targetControlY:y});return[`M${t},${r} C${d},${h} ${p},${y} ${l},${a}`,m,v,g,S]}function Mg(t){return W.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d,targetPosition:h,label:p,labelStyle:y,labelShowBg:m,labelBgStyle:v,labelBgPadding:g,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:k,interactionWidth:E})=>{const[z,N,P]=jg({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h}),b=t.isInternal?void 0:r;return x.jsx(_l,{id:b,path:z,labelX:N,labelY:P,label:p,labelStyle:y,labelShowBg:m,labelBgStyle:v,labelBgPadding:g,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:k,interactionWidth:E})})}const KS=Mg({isInternal:!1}),Pg=Mg({isInternal:!0});KS.displayName="SimpleBezierEdge";Pg.displayName="SimpleBezierEdgeInternal";function Ig(t){return W.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:m,labelBgBorderRadius:v,style:g,sourcePosition:S=_e.Bottom,targetPosition:_=_e.Top,markerEnd:M,markerStart:k,pathOptions:E,interactionWidth:z})=>{const[N,P,b]=Bu({sourceX:o,sourceY:l,sourcePosition:S,targetX:a,targetY:c,targetPosition:_,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),$=t.isInternal?void 0:r;return x.jsx(_l,{id:$,path:N,labelX:P,labelY:b,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:m,labelBgBorderRadius:v,style:g,markerEnd:M,markerStart:k,interactionWidth:z})})}const Tg=Ig({isInternal:!1}),zg=Ig({isInternal:!0});Tg.displayName="SmoothStepEdge";zg.displayName="SmoothStepEdgeInternal";function Rg(t){return W.memo(({id:r,...o})=>{var a;const l=t.isInternal?void 0:r;return x.jsx(Tg,{...o,id:l,pathOptions:W.useMemo(()=>{var c;return{borderRadius:0,offset:(c=o.pathOptions)==null?void 0:c.offset}},[(a=o.pathOptions)==null?void 0:a.offset])})})}const GS=Rg({isInternal:!1}),Lg=Rg({isInternal:!0});GS.displayName="StepEdge";Lg.displayName="StepEdgeInternal";function Ag(t){return W.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:m,labelBgBorderRadius:v,style:g,markerEnd:S,markerStart:_,interactionWidth:M})=>{const[k,E,z]=Zp({sourceX:o,sourceY:l,targetX:a,targetY:c}),N=t.isInternal?void 0:r;return x.jsx(_l,{id:N,path:k,labelX:E,labelY:z,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:m,labelBgBorderRadius:v,style:g,markerEnd:S,markerStart:_,interactionWidth:M})})}const qS=Ag({isInternal:!1}),$g=Ag({isInternal:!0});qS.displayName="StraightEdge";$g.displayName="StraightEdgeInternal";function Dg(t){return W.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d=_e.Bottom,targetPosition:h=_e.Top,label:p,labelStyle:y,labelShowBg:m,labelBgStyle:v,labelBgPadding:g,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:k,pathOptions:E,interactionWidth:z})=>{const[N,P,b]=Gp({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h,curvature:E==null?void 0:E.curvature}),$=t.isInternal?void 0:r;return x.jsx(_l,{id:$,path:N,labelX:P,labelY:b,label:p,labelStyle:y,labelShowBg:m,labelBgStyle:v,labelBgPadding:g,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:k,interactionWidth:z})})}const ZS=Dg({isInternal:!1}),Og=Dg({isInternal:!0});ZS.displayName="BezierEdge";Og.displayName="BezierEdgeInternal";const Xh={default:Og,straight:$g,step:Lg,smoothstep:zg,simplebezier:Pg},Qh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},JS=(t,r,o)=>o===_e.Left?t-r:o===_e.Right?t+r:t,e_=(t,r,o)=>o===_e.Top?t-r:o===_e.Bottom?t+r:t,Kh="react-flow__edgeupdater";function Gh({position:t,centerX:r,centerY:o,radius:l=10,onMouseDown:a,onMouseEnter:c,onMouseOut:d,type:h}){return x.jsx("circle",{onMouseDown:a,onMouseEnter:c,onMouseOut:d,className:Qe([Kh,`${Kh}-${h}`]),cx:JS(r,l,t),cy:e_(o,l,t),r:l,stroke:"transparent",fill:"transparent"})}function t_({isReconnectable:t,reconnectRadius:r,edge:o,sourceX:l,sourceY:a,targetX:c,targetY:d,sourcePosition:h,targetPosition:p,onReconnect:y,onReconnectStart:m,onReconnectEnd:v,setReconnecting:g,setUpdateHover:S}){const _=be(),M=(P,b)=>{if(P.button!==0)return;const{autoPanOnConnect:$,domNode:H,connectionMode:X,connectionRadius:K,lib:ne,onConnectStart:Z,cancelConnection:te,nodeLookup:J,rfId:C,panBy:B,updateConnection:F}=_.getState(),V=b.type==="target",A=(j,T)=>{g(!1),v==null||v(j,o,b.type,T)},L=j=>y==null?void 0:y(o,j),O=(j,T)=>{g(!0),m==null||m(P,o,b.type),Z==null||Z(j,T)};Yu.onPointerDown(P.nativeEvent,{autoPanOnConnect:$,connectionMode:X,connectionRadius:K,domNode:H,handleId:b.id,nodeId:b.nodeId,nodeLookup:J,isTarget:V,edgeUpdaterType:b.type,lib:ne,flowId:C,cancelConnection:te,panBy:B,isValidConnection:(...j)=>{var T,ee;return((ee=(T=_.getState()).isValidConnection)==null?void 0:ee.call(T,...j))??!0},onConnect:L,onConnectStart:O,onConnectEnd:(...j)=>{var T,ee;return(ee=(T=_.getState()).onConnectEnd)==null?void 0:ee.call(T,...j)},onReconnectEnd:A,updateConnection:F,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:P.currentTarget})},k=P=>M(P,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),E=P=>M(P,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),z=()=>S(!0),N=()=>S(!1);return x.jsxs(x.Fragment,{children:[(t===!0||t==="source")&&x.jsx(Gh,{position:h,centerX:l,centerY:a,radius:r,onMouseDown:k,onMouseEnter:z,onMouseOut:N,type:"source"}),(t===!0||t==="target")&&x.jsx(Gh,{position:p,centerX:c,centerY:d,radius:r,onMouseDown:E,onMouseEnter:z,onMouseOut:N,type:"target"})]})}function n_({id:t,edgesFocusable:r,edgesReconnectable:o,elementsSelectable:l,onClick:a,onDoubleClick:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,reconnectRadius:m,onReconnect:v,onReconnectStart:g,onReconnectEnd:S,rfId:_,edgeTypes:M,noPanClassName:k,onError:E,disableKeyboardA11y:z}){let N=Te(ve=>ve.edgeLookup.get(t));const P=Te(ve=>ve.defaultEdgeOptions);N=P?{...P,...N}:N;let b=N.type||"default",$=(M==null?void 0:M[b])||Xh[b];$===void 0&&(E==null||E("011",qt.error011(b)),b="default",$=(M==null?void 0:M.default)||Xh.default);const H=!!(N.focusable||r&&typeof N.focusable>"u"),X=typeof v<"u"&&(N.reconnectable||o&&typeof N.reconnectable>"u"),K=!!(N.selectable||l&&typeof N.selectable>"u"),ne=W.useRef(null),[Z,te]=W.useState(!1),[J,C]=W.useState(!1),B=be(),{zIndex:F=N.zIndex,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:T}=Te(W.useCallback(ve=>{const me=ve.nodeLookup.get(N.source),Ce=ve.nodeLookup.get(N.target);if(!me||!Ce)return Qh;const Me=Vw({id:t,sourceNode:me,targetNode:Ce,sourceHandle:N.sourceHandle||null,targetHandle:N.targetHandle||null,connectionMode:ve.connectionMode,onError:E}),Pe=Lw({selected:N.selected,zIndex:N.zIndex,sourceNode:me,targetNode:Ce,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode});return{...Me||Qh,zIndex:Pe}},[N.source,N.target,N.sourceHandle,N.targetHandle,N.selected,N.zIndex,E]),Ue),ee=W.useMemo(()=>N.markerStart?`url('#${Uu(N.markerStart,_)}')`:void 0,[N.markerStart,_]),re=W.useMemo(()=>N.markerEnd?`url('#${Uu(N.markerEnd,_)}')`:void 0,[N.markerEnd,_]);if(N.hidden||V===null||A===null||L===null||O===null)return null;const ue=ve=>{var Pe;const{addSelectedEdges:me,unselectNodesAndEdges:Ce,multiSelectionActive:Me}=B.getState();K&&(B.setState({nodesSelectionActive:!1}),N.selected&&Me?(Ce({nodes:[],edges:[N]}),(Pe=ne.current)==null||Pe.blur()):me([t])),a&&a(ve,N)},de=c?ve=>{c(ve,{...N})}:void 0,ce=d?ve=>{d(ve,{...N})}:void 0,Q=h?ve=>{h(ve,{...N})}:void 0,se=p?ve=>{p(ve,{...N})}:void 0,pe=y?ve=>{y(ve,{...N})}:void 0,Se=ve=>{var me;if(!z&&Lp.includes(ve.key)&&K){const{unselectNodesAndEdges:Ce,addSelectedEdges:Me}=B.getState();ve.key==="Escape"?((me=ne.current)==null||me.blur(),Ce({edges:[N]})):Me([t])}};return x.jsx("svg",{style:{zIndex:F},children:x.jsxs("g",{className:Qe(["react-flow__edge",`react-flow__edge-${b}`,N.className,k,{selected:N.selected,animated:N.animated,inactive:!K&&!a,updating:Z,selectable:K}]),onClick:ue,onDoubleClick:de,onContextMenu:ce,onMouseEnter:Q,onMouseMove:se,onMouseLeave:pe,onKeyDown:H?Se:void 0,tabIndex:H?0:void 0,role:N.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":N.ariaLabel===null?void 0:N.ariaLabel||`Edge from ${N.source} to ${N.target}`,"aria-describedby":H?`${hg}-${_}`:void 0,ref:ne,...N.domAttributes,children:[!J&&x.jsx($,{id:t,source:N.source,target:N.target,type:N.type,selected:N.selected,animated:N.animated,selectable:K,deletable:N.deletable??!0,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:T,data:N.data,style:N.style,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerStart:ee,markerEnd:re,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth}),X&&x.jsx(t_,{edge:N,isReconnectable:X,reconnectRadius:m,onReconnect:v,onReconnectStart:g,onReconnectEnd:S,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:T,setUpdateHover:te,setReconnecting:C})]})})}var r_=W.memo(n_);const i_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function bg({defaultMarkerColor:t,onlyRenderVisibleElements:r,rfId:o,edgeTypes:l,noPanClassName:a,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:y,onEdgeClick:m,reconnectRadius:v,onEdgeDoubleClick:g,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:M}){const{edgesFocusable:k,edgesReconnectable:E,elementsSelectable:z,onError:N}=Te(i_,Ue),P=VS(r);return x.jsxs("div",{className:"react-flow__edges",children:[x.jsx(XS,{defaultColor:t,rfId:o}),P.map(b=>x.jsx(r_,{id:b,edgesFocusable:k,edgesReconnectable:E,elementsSelectable:z,noPanClassName:a,onReconnect:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,onClick:m,reconnectRadius:v,onDoubleClick:g,onReconnectStart:S,onReconnectEnd:_,rfId:o,onError:N,edgeTypes:l,disableKeyboardA11y:M},b))]})}bg.displayName="EdgeRenderer";const o_=W.memo(bg),qh=t=>`translate(${t[0]}px,${t[1]}px) scale(${t[2]})`;function s_({children:t}){const r=be(),o=W.useRef(null),[l]=W.useState(()=>r.getState().transform);return yg(()=>{let a=null;const c=()=>{const d=r.getState().transform;a&&d[0]===a[0]&&d[1]===a[1]&&d[2]===a[2]||(a=d,o.current&&(o.current.style.transform=qh(d)))};return c(),r.subscribe(c)},[r]),x.jsx("div",{ref:o,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:qh(l)},children:t})}function l_(t){const r=fc(),o=W.useRef(!1);W.useEffect(()=>{!o.current&&r.viewportInitialized&&t&&(setTimeout(()=>t(r),1),o.current=!0)},[t,r.viewportInitialized])}const a_=t=>{var r;return(r=t.panZoom)==null?void 0:r.syncViewport};function u_(t){const r=Te(a_),o=be();return W.useEffect(()=>{t&&(r==null||r(t),o.setState({transform:[t.x,t.y,t.zoom]}))},[t,r]),null}function c_(t){return t.connection.inProgress?{...t.connection,to:xo(t.connection.to,t.transform)}:{...t.connection}}function d_(t){return c_}function f_(t){const r=d_();return Te(r,Ue)}const h_=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function p_({containerStyle:t,style:r,type:o,component:l}){const{nodesConnectable:a,width:c,height:d,isValid:h,inProgress:p}=Te(h_,Ue);return!(c&&a&&p)?null:x.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:x.jsx("g",{className:Qe(["react-flow__connection",Dp(h)]),children:x.jsx(Fg,{style:r,type:o,CustomComponent:l,isValid:h})})})}const Fg=({style:t,type:r=Yn.Bezier,CustomComponent:o,isValid:l})=>{const{inProgress:a,from:c,fromNode:d,fromHandle:h,fromPosition:p,to:y,toNode:m,toHandle:v,toPosition:g,pointer:S}=f_();if(!a)return;if(o)return x.jsx(o,{connectionLineType:r,connectionLineStyle:t,fromNode:d,fromHandle:h,fromX:c.x,fromY:c.y,toX:y.x,toY:y.y,fromPosition:p,toPosition:g,connectionStatus:Dp(l),toNode:m,toHandle:v,pointer:S});let _="";const M={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:y.x,targetY:y.y,targetPosition:g};switch(r){case Yn.Bezier:[_]=Gp(M);break;case Yn.SimpleBezier:[_]=jg(M);break;case Yn.Step:[_]=Bu({...M,borderRadius:0});break;case Yn.SmoothStep:[_]=Bu(M);break;default:[_]=Zp(M)}return x.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:t})};Fg.displayName="ConnectionLine";const g_={};function Zh(t=g_){W.useRef(t),be(),W.useEffect(()=>{},[t])}function m_(){be(),W.useRef(!1),W.useEffect(()=>{},[])}function Hg({nodeTypes:t,edgeTypes:r,onInit:o,onNodeClick:l,onEdgeClick:a,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:m,onSelectionContextMenu:v,onSelectionStart:g,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:M,connectionLineComponent:k,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:N,selectionMode:P,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,deleteKeyCode:X,onlyRenderVisibleElements:K,elementsSelectable:ne,defaultViewport:Z,translateExtent:te,minZoom:J,maxZoom:C,preventScrolling:B,defaultMarkerColor:F,zoomOnScroll:V,zoomOnPinch:A,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,zoomOnDoubleClick:T,panOnDrag:ee,autoPanOnSelection:re,onPaneClick:ue,onPaneMouseEnter:de,onPaneMouseMove:ce,onPaneMouseLeave:Q,onPaneScroll:se,onPaneContextMenu:pe,paneClickDistance:Se,nodeClickDistance:ve,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:Me,onEdgeMouseLeave:Pe,reconnectRadius:ze,onReconnect:Ze,onReconnectStart:lt,onReconnectEnd:Je,noDragClassName:et,noWheelClassName:Lt,noPanClassName:kt,disableKeyboardA11y:Et,nodeExtent:it,rfId:ft,viewport:q,onViewportChange:we,nodesDraggable:Ae}){return Zh(t),Zh(r),m_(),l_(o),u_(q),x.jsx(zS,{onPaneClick:ue,onPaneMouseEnter:de,onPaneMouseMove:ce,onPaneMouseLeave:Q,onPaneContextMenu:pe,onPaneScroll:se,paneClickDistance:Se,deleteKeyCode:X,selectionKeyCode:z,selectionOnDrag:N,selectionMode:P,onSelectionStart:g,onSelectionEnd:S,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,elementsSelectable:ne,zoomOnScroll:V,zoomOnPinch:A,zoomOnDoubleClick:T,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,panOnDrag:ee,autoPanOnSelection:re,defaultViewport:Z,translateExtent:te,minZoom:J,maxZoom:C,onSelectionContextMenu:v,preventScrolling:B,noDragClassName:et,noWheelClassName:Lt,noPanClassName:kt,disableKeyboardA11y:Et,onViewportChange:we,isControlledViewport:!!q,children:x.jsxs(s_,{children:[x.jsx(o_,{edgeTypes:r,onEdgeClick:a,onEdgeDoubleClick:d,onReconnect:Ze,onReconnectStart:lt,onReconnectEnd:Je,onlyRenderVisibleElements:K,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:Me,onEdgeMouseLeave:Pe,reconnectRadius:ze,defaultMarkerColor:F,noPanClassName:kt,disableKeyboardA11y:Et,rfId:ft}),x.jsx(p_,{style:M,type:_,component:k,containerStyle:E}),x.jsx("div",{className:"react-flow__edgelabel-renderer"}),x.jsx(HS,{nodeTypes:t,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:K,noPanClassName:kt,noDragClassName:et,disableKeyboardA11y:Et,nodeExtent:it,rfId:ft,nodesDraggable:Ae}),x.jsx("div",{className:"react-flow__viewport-portal"})]})})}Hg.displayName="GraphView";const y_=W.memo(Hg),v_=Bp(),Jh=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p=.5,maxZoom:y=2,nodeOrigin:m,nodeExtent:v,zIndexMode:g="basic"}={})=>{const S=new Map,_=new Map,M=new Map,k=new Map,E=l??r??[],z=o??t??[],N=m??[0,0],P=v??so;tg(M,k,E);const{nodesInitialized:b}=Wu(z,S,_,{nodeOrigin:N,nodeExtent:P,zIndexMode:g});let $=[0,0,1];if(d&&a&&c){const H=yo(S,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:X,y:K,zoom:ne}=oc(H,a,c,p,y,(h==null?void 0:h.padding)??.1);$=[X,K,ne]}return{rfId:"1",width:a??0,height:c??0,transform:$,nodes:z,nodesInitialized:b,nodeLookup:S,parentLookup:_,edges:E,edgeLookup:k,connectionLookup:M,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:o!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:p,maxZoom:y,translateExtent:so,nodeExtent:P,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ni.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:N,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:d??!1,fitViewOptions:h,fitViewResolver:null,connection:{...$p},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:v_,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ap,zIndexMode:g,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},x_=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:m,nodeExtent:v,zIndexMode:g})=>T1((S,_)=>{async function M(){const{nodeLookup:k,panZoom:E,fitViewOptions:z,fitViewResolver:N,width:P,height:b,minZoom:$,maxZoom:H}=_();E&&(await jw({nodes:k,width:P,height:b,panZoom:E,minZoom:$,maxZoom:H},z),N==null||N.resolve(!0),S({fitViewResolver:null}))}return{...Jh({nodes:t,edges:r,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:m,nodeExtent:v,defaultNodes:o,defaultEdges:l,zIndexMode:g}),setNodes:k=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:N,nodeExtent:P,elevateNodesOnSelect:b,fitViewQueued:$,zIndexMode:H,nodesSelectionActive:X}=_(),{nodesInitialized:K,hasSelectedNodes:ne}=Wu(k,E,z,{nodeOrigin:N,nodeExtent:P,elevateNodesOnSelect:b,checkEquality:!0,zIndexMode:H}),Z=X&≠$&&K?(M(),S({nodes:k,nodesInitialized:K,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:Z})):S({nodes:k,nodesInitialized:K,nodesSelectionActive:Z})},setEdges:k=>{const{connectionLookup:E,edgeLookup:z}=_();tg(E,z,k),S({edges:k})},setDefaultNodesAndEdges:(k,E)=>{if(k){const{setNodes:z}=_();z(k),S({hasDefaultNodes:!0})}if(E){const{setEdges:z}=_();z(E),S({hasDefaultEdges:!0})}},updateNodeInternals:k=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:N,domNode:P,nodeOrigin:b,nodeExtent:$,debug:H,fitViewQueued:X,zIndexMode:K}=_(),{changes:ne,updatedInternals:Z}=Gw(k,z,N,P,b,$,K);Z&&(Yw(z,N,{nodeOrigin:b,nodeExtent:$,zIndexMode:K}),X?(M(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),(ne==null?void 0:ne.length)>0&&(H&&console.log("React Flow: trigger node changes",ne),E==null||E(ne)))},updateNodePositions:(k,E=!1)=>{const z=[];let N=[];const{nodeLookup:P,triggerNodeChanges:b,connection:$,updateConnection:H,onNodesChangeMiddlewareMap:X}=_();for(const[K,ne]of k){const Z=P.get(K),te=!!(Z!=null&&Z.expandParent&&(Z!=null&&Z.parentId)&&(ne!=null&&ne.position)),J={id:K,type:"position",position:te?{x:Math.max(0,ne.position.x),y:Math.max(0,ne.position.y)}:ne.position,dragging:E};if(Z&&$.inProgress&&$.fromNode.id===Z.id){const C=wr(Z,$.fromHandle,_e.Left,!0);H({...$,from:C})}te&&Z.parentId&&z.push({id:K,parentId:Z.parentId,rect:{...ne.internals.positionAbsolute,width:ne.measured.width??0,height:ne.measured.height??0}}),N.push(J)}if(z.length>0){const{parentLookup:K,nodeOrigin:ne}=_(),Z=dc(z,P,K,ne);N.push(...Z)}for(const K of X.values())N=K(N);b(N)},triggerNodeChanges:k=>{const{onNodesChange:E,setNodes:z,nodes:N,hasDefaultNodes:P,debug:b}=_();if(k!=null&&k.length){if(P){const $=Z1(k,N);z($)}b&&console.log("React Flow: trigger node changes",k),E==null||E(k)}},triggerEdgeChanges:k=>{const{onEdgesChange:E,setEdges:z,edges:N,hasDefaultEdges:P,debug:b}=_();if(k!=null&&k.length){if(P){const $=J1(k,N);z($)}b&&console.log("React Flow: trigger edge changes",k),E==null||E(k)}},addSelectedNodes:k=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:N,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(E){const $=k.map(H=>fr(H,!0));P($);return}P(qr(N,new Set([...k]),!0)),b(qr(z))},addSelectedEdges:k=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:N,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(E){const $=k.map(H=>fr(H,!0));b($);return}b(qr(z,new Set([...k]))),P(qr(N,new Set,!0))},unselectNodesAndEdges:({nodes:k,edges:E}={})=>{const{edges:z,nodes:N,nodeLookup:P,triggerNodeChanges:b,triggerEdgeChanges:$}=_(),H=k||N,X=E||z,K=[];for(const Z of H){if(!Z.selected)continue;const te=P.get(Z.id);te&&(te.selected=!1),K.push(fr(Z.id,!1))}const ne=[];for(const Z of X)Z.selected&&ne.push(fr(Z.id,!1));b(K),$(ne)},setMinZoom:k=>{const{panZoom:E,maxZoom:z}=_();E==null||E.setScaleExtent([k,z]),S({minZoom:k})},setMaxZoom:k=>{const{panZoom:E,minZoom:z}=_();E==null||E.setScaleExtent([z,k]),S({maxZoom:k})},setTranslateExtent:k=>{var E;(E=_().panZoom)==null||E.setTranslateExtent(k),S({translateExtent:k})},resetSelectedElements:()=>{const{edges:k,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:N,elementsSelectable:P}=_();if(!P)return;const b=E.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]),$=k.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]);z(b),N($)},setNodeExtent:k=>{const{nodes:E,nodeLookup:z,parentLookup:N,nodeOrigin:P,elevateNodesOnSelect:b,nodeExtent:$,zIndexMode:H}=_();k[0][0]===$[0][0]&&k[0][1]===$[0][1]&&k[1][0]===$[1][0]&&k[1][1]===$[1][1]||(Wu(E,z,N,{nodeOrigin:P,nodeExtent:k,elevateNodesOnSelect:b,checkEquality:!1,zIndexMode:H}),S({nodeExtent:k}))},panBy:k=>{const{transform:E,width:z,height:N,panZoom:P,translateExtent:b}=_();return qw({delta:k,panZoom:P,transform:E,translateExtent:b,width:z,height:N})},setCenter:async(k,E,z)=>{const{width:N,height:P,maxZoom:b,panZoom:$}=_();if(!$)return!1;const H=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:b;return await $.setViewport({x:N/2-k*H,y:P/2-E*H,zoom:H},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),!0},cancelConnection:()=>{S({connection:{...$p}})},updateConnection:k=>{S({connection:k})},reset:()=>S({...Jh()})}},Object.is);function Vg({initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:l,initialWidth:a,initialHeight:c,initialMinZoom:d,initialMaxZoom:h,initialFitViewOptions:p,fitView:y,nodeOrigin:m,nodeExtent:v,zIndexMode:g,children:S}){const[_]=W.useState(()=>x_({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:y,minZoom:d,maxZoom:h,fitViewOptions:p,nodeOrigin:m,nodeExtent:v,zIndexMode:g}));return x.jsx(z1,{value:_,children:x.jsx(iS,{children:x.jsx(xS,{children:S})})})}function w_({children:t,nodes:r,edges:o,defaultNodes:l,defaultEdges:a,width:c,height:d,fitView:h,fitViewOptions:p,minZoom:y,maxZoom:m,nodeOrigin:v,nodeExtent:g,zIndexMode:S}){return W.useContext(xl)?x.jsx(x.Fragment,{children:t}):x.jsx(Vg,{initialNodes:r,initialEdges:o,defaultNodes:l,defaultEdges:a,initialWidth:c,initialHeight:d,fitView:h,initialFitViewOptions:p,initialMinZoom:y,initialMaxZoom:m,nodeOrigin:v,nodeExtent:g,zIndexMode:S,children:t})}const S_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function __({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,className:a,nodeTypes:c,edgeTypes:d,onNodeClick:h,onEdgeClick:p,onInit:y,onMove:m,onMoveStart:v,onMoveEnd:g,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:k,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:N,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:K,onNodesDelete:ne,onEdgesDelete:Z,onDelete:te,onSelectionChange:J,onSelectionDragStart:C,onSelectionDrag:B,onSelectionDragStop:F,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onBeforeDelete:O,connectionMode:j,connectionLineType:T=Yn.Bezier,connectionLineStyle:ee,connectionLineComponent:re,connectionLineContainerStyle:ue,deleteKeyCode:de="Backspace",selectionKeyCode:ce="Shift",selectionOnDrag:Q=!1,selectionMode:se=lo.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:Se=uo()?"Meta":"Control",zoomActivationKeyCode:ve=uo()?"Meta":"Control",snapToGrid:me,snapGrid:Ce,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Pe,nodesDraggable:ze,autoPanOnNodeFocus:Ze,nodesConnectable:lt,nodesFocusable:Je,nodeOrigin:et=pg,edgesFocusable:Lt,edgesReconnectable:kt,elementsSelectable:Et=!0,defaultViewport:it=W1,minZoom:ft=.5,maxZoom:q=2,translateExtent:we=so,preventScrolling:Ae=!0,nodeExtent:Ke,defaultMarkerColor:un="#b1b1b7",zoomOnScroll:kl=!0,zoomOnPinch:wo=!0,panOnScroll:So=!1,panOnScrollSpeed:El=.5,panOnScrollMode:si=gr.Free,zoomOnDoubleClick:li=!0,panOnDrag:ai=!0,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:_n,onPaneMouseLeave:kn,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo=1,nodeClickDistance:No=0,children:Co,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Kn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Gn,onEdgeMouseLeave:Sr,reconnectRadius:_r=10,onNodesChange:hi,onEdgesChange:Cl,noDragClassName:jl="nodrag",noWheelClassName:Ml="nowheel",noPanClassName:en="nopan",fitView:pi,fitViewOptions:gi,connectOnClick:Pl,attributionPosition:Mo,proOptions:Po,defaultEdgeOptions:Io,elevateNodesOnSelect:To=!0,elevateEdgesOnSelect:Il=!1,disableKeyboardA11y:zo=!1,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanOnSelection:mi=!0,autoPanSpeed:Ro,connectionRadius:kr,isValidConnection:zl,onError:Lo,style:Er,id:Nt,nodeDragThreshold:Rl,connectionDragThreshold:Ct,viewport:Ll,onViewportChange:Al,width:$l,height:Nr,colorMode:Cr="light",debug:qn,onScroll:cn,ariaLabelConfig:Dl,zIndexMode:Ao="basic",...yi},$o){const Zn=Nt||"1",Jn=K1(Cr),Ol=W.useCallback(jr=>{jr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),cn==null||cn(jr)},[cn]);return x.jsx("div",{"data-testid":"rf__wrapper",...yi,onScroll:Ol,style:{...Er,...S_},ref:$o,className:Qe(["react-flow",a,Jn]),id:Nt,role:"application",children:x.jsxs(w_,{nodes:t,edges:r,width:$l,height:Nr,fitView:pi,fitViewOptions:gi,minZoom:ft,maxZoom:q,nodeOrigin:et,nodeExtent:Ke,zIndexMode:Ao,children:[x.jsx(Q1,{nodes:t,edges:r,defaultNodes:o,defaultEdges:l,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:k,onClickConnectEnd:E,nodesDraggable:ze,autoPanOnNodeFocus:Ze,nodesConnectable:lt,nodesFocusable:Je,edgesFocusable:Lt,edgesReconnectable:kt,elementsSelectable:Et,elevateNodesOnSelect:To,elevateEdgesOnSelect:Il,minZoom:ft,maxZoom:q,nodeExtent:Ke,onNodesChange:hi,onEdgesChange:Cl,snapToGrid:me,snapGrid:Ce,connectionMode:j,translateExtent:we,connectOnClick:Pl,defaultEdgeOptions:Io,fitView:pi,fitViewOptions:gi,onNodesDelete:ne,onEdgesDelete:Z,onDelete:te,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:K,onSelectionDrag:B,onSelectionDragStart:C,onSelectionDragStop:F,onMove:m,onMoveStart:v,onMoveEnd:g,noPanClassName:en,nodeOrigin:et,rfId:Zn,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanSpeed:Ro,onError:Lo,connectionRadius:kr,isValidConnection:zl,selectNodesOnDrag:Pe,nodeDragThreshold:Rl,connectionDragThreshold:Ct,onBeforeDelete:O,debug:qn,ariaLabelConfig:Dl,zIndexMode:Ao}),x.jsx(y_,{onInit:y,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:z,onNodeMouseMove:N,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,nodeTypes:c,edgeTypes:d,connectionLineType:T,connectionLineStyle:ee,connectionLineComponent:re,connectionLineContainerStyle:ue,selectionKeyCode:ce,selectionOnDrag:Q,selectionMode:se,deleteKeyCode:de,multiSelectionKeyCode:Se,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:Me,defaultViewport:it,translateExtent:we,minZoom:ft,maxZoom:q,preventScrolling:Ae,zoomOnScroll:kl,zoomOnPinch:wo,zoomOnDoubleClick:li,panOnScroll:So,panOnScrollSpeed:El,panOnScrollMode:si,panOnDrag:ai,autoPanOnSelection:mi,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:_n,onPaneMouseLeave:kn,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo,nodeClickDistance:No,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Kn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Gn,onEdgeMouseLeave:Sr,reconnectRadius:_r,defaultMarkerColor:un,noDragClassName:jl,noWheelClassName:Ml,noPanClassName:en,rfId:Zn,disableKeyboardA11y:zo,nodeExtent:Ke,viewport:Ll,onViewportChange:Al,nodesDraggable:ze}),x.jsx(U1,{onSelectionChange:J}),Co,x.jsx(b1,{proOptions:Po,position:Mo}),x.jsx(O1,{rfId:Zn,disableKeyboardA11y:zo})]})})}var k_=mg(__);function E_({dimensions:t,lineWidth:r,variant:o,className:l}){return x.jsx("path",{strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Qe(["react-flow__background-pattern",o,l])})}function N_({radius:t,className:r}){return x.jsx("circle",{cx:t,cy:t,r:t,className:Qe(["react-flow__background-pattern","dots",r])})}var Xn;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Xn||(Xn={}));const C_={[Xn.Dots]:1,[Xn.Lines]:1,[Xn.Cross]:6},j_=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Bg({id:t,variant:r=Xn.Dots,gap:o=20,size:l,lineWidth:a=1,offset:c=0,color:d,bgColor:h,style:p,className:y,patternClassName:m}){const v=W.useRef(null),{transform:g,patternId:S}=Te(j_,Ue),_=l||C_[r],M=r===Xn.Dots,k=r===Xn.Cross,E=Array.isArray(o)?o:[o,o],z=[E[0]*g[2]||1,E[1]*g[2]||1],N=_*g[2],P=Array.isArray(c)?c:[c,c],b=k?[N,N]:z,$=[P[0]*g[2]+b[0]/2,P[1]*g[2]+b[1]/2],H=`${S}${t||""}`;return x.jsxs("svg",{className:Qe(["react-flow__background",y]),style:{...p,...Sl,"--xy-background-color-props":h,"--xy-background-pattern-color-props":d},ref:v,"data-testid":"rf__background",children:[x.jsx("pattern",{id:H,x:g[0]%z[0],y:g[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${$[0]},-${$[1]})`,children:M?x.jsx(N_,{radius:N/2,className:m}):x.jsx(E_,{dimensions:b,lineWidth:a,variant:r,className:m})}),x.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}Bg.displayName="Background";const M_=W.memo(Bg);function P_(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:x.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function I_(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:x.jsx("path",{d:"M0 0h32v4.2H0z"})})}function T_(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:x.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 z_(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.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 R_(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.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 Ys({children:t,className:r,...o}){return x.jsx("button",{type:"button",className:Qe(["react-flow__controls-button",r]),...o,children:t})}const L_=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function Ug({style:t,showZoom:r=!0,showFitView:o=!0,showInteractive:l=!0,fitViewOptions:a,onZoomIn:c,onZoomOut:d,onFitView:h,onInteractiveChange:p,className:y,children:m,position:v="bottom-left",orientation:g="vertical","aria-label":S}){const _=be(),{isInteractive:M,minZoomReached:k,maxZoomReached:E,ariaLabelConfig:z}=Te(L_,Ue),{zoomIn:N,zoomOut:P,fitView:b}=fc(),$=()=>{N(),c==null||c()},H=()=>{P(),d==null||d()},X=()=>{b(a),h==null||h()},K=()=>{_.setState({nodesDraggable:!M,nodesConnectable:!M,elementsSelectable:!M}),p==null||p(!M)},ne=g==="horizontal"?"horizontal":"vertical";return x.jsxs(wl,{className:Qe(["react-flow__controls",ne,y]),position:v,style:t,"data-testid":"rf__controls","aria-label":S??z["controls.ariaLabel"],children:[r&&x.jsxs(x.Fragment,{children:[x.jsx(Ys,{onClick:$,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:x.jsx(P_,{})}),x.jsx(Ys,{onClick:H,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:k,children:x.jsx(I_,{})})]}),o&&x.jsx(Ys,{className:"react-flow__controls-fitview",onClick:X,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:x.jsx(T_,{})}),l&&x.jsx(Ys,{className:"react-flow__controls-interactive",onClick:K,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:M?x.jsx(R_,{}):x.jsx(z_,{})}),m]})}Ug.displayName="Controls";const A_=W.memo(Ug);function $_({id:t,x:r,y:o,width:l,height:a,style:c,color:d,strokeColor:h,strokeWidth:p,className:y,borderRadius:m,shapeRendering:v,selected:g,onClick:S}){const{background:_,backgroundColor:M}=c||{},k=d||_||M;return x.jsx("rect",{className:Qe(["react-flow__minimap-node",{selected:g},y]),x:r,y:o,rx:m,ry:m,width:l,height:a,style:{fill:k,stroke:h,strokeWidth:p},shapeRendering:v,onClick:S?E=>S(E,t):void 0})}const D_=W.memo($_),O_=t=>t.nodes.map(r=>r.id),zu=t=>t instanceof Function?t:()=>t;function b_({nodeStrokeColor:t,nodeColor:r,nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:a,nodeComponent:c=D_,onClick:d}){const h=Te(O_,Ue),p=zu(r),y=zu(t),m=zu(o),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return x.jsx(x.Fragment,{children:h.map(g=>x.jsx(H_,{id:g,nodeColorFunc:p,nodeStrokeColorFunc:y,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:a,NodeComponent:c,onClick:d,shapeRendering:v},g))})}function F_({id:t,nodeColorFunc:r,nodeStrokeColorFunc:o,nodeClassNameFunc:l,nodeBorderRadius:a,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:h,onClick:p}){const{node:y,x:m,y:v,width:g,height:S}=Te(_=>{const M=_.nodeLookup.get(t);if(!M)return{node:void 0,x:0,y:0,width:0,height:0};const k=M.internals.userNode,{x:E,y:z}=M.internals.positionAbsolute,{width:N,height:P}=Jt(k);return{node:k,x:E,y:z,width:N,height:P}},Ue);return!y||y.hidden||!Up(y)?null:x.jsx(h,{x:m,y:v,width:g,height:S,style:y.style,selected:!!y.selected,className:l(y),color:r(y),borderRadius:a,strokeColor:o(y),strokeWidth:c,shapeRendering:d,onClick:p,id:y.id})}const H_=W.memo(F_);var V_=W.memo(b_);const B_=200,U_=150,W_=t=>!t.hidden,Y_=t=>{const r={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:r,boundingRect:t.nodeLookup.size>0?Hp(yo(t.nodeLookup,{filter:W_}),r):r,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},ep=(t,r)=>t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height,X_=(t,r)=>ep(t.viewBB,r.viewBB)&&ep(t.boundingRect,r.boundingRect)&&t.rfId===r.rfId&&t.panZoom===r.panZoom&&t.translateExtent===r.translateExtent&&t.flowWidth===r.flowWidth&&t.flowHeight===r.flowHeight&&t.ariaLabelConfig===r.ariaLabelConfig,Q_="react-flow__minimap-desc";function Wg({style:t,className:r,nodeStrokeColor:o,nodeColor:l,nodeClassName:a="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:h,bgColor:p,maskColor:y,maskStrokeColor:m,maskStrokeWidth:v,position:g="bottom-right",onClick:S,onNodeClick:_,pannable:M=!1,zoomable:k=!1,ariaLabel:E,inversePan:z,zoomStep:N=1,offsetScale:P=5}){const b=be(),$=W.useRef(null),{boundingRect:H,viewBB:X,rfId:K,panZoom:ne,translateExtent:Z,flowWidth:te,flowHeight:J,ariaLabelConfig:C}=Te(Y_,X_),B=(t==null?void 0:t.width)??B_,F=(t==null?void 0:t.height)??U_,V=H.width/B,A=H.height/F,L=Math.max(V,A),O=L*B,j=L*F,T=P*L,ee=H.x-(O-H.width)/2-T,re=H.y-(j-H.height)/2-T,ue=O+T*2,de=j+T*2,ce=`${Q_}-${K}`,Q=W.useRef(0),se=W.useRef();Q.current=L,W.useEffect(()=>{if($.current&&ne)return se.current=s1({domNode:$.current,panZoom:ne,getTransform:()=>b.getState().transform,getViewScale:()=>Q.current}),()=>{var me;(me=se.current)==null||me.destroy()}},[ne]),W.useEffect(()=>{var me;(me=se.current)==null||me.update({translateExtent:Z,width:te,height:J,inversePan:z,pannable:M,zoomStep:N,zoomable:k})},[M,k,z,N,Z,te,J]);const pe=S?me=>{var Pe;const[Ce,Me]=((Pe=se.current)==null?void 0:Pe.pointer(me))||[0,0];S(me,{x:Ce,y:Me})}:void 0,Se=_?W.useCallback((me,Ce)=>{const Me=b.getState().nodeLookup.get(Ce).internals.userNode;_(me,Me)},[]):void 0,ve=E??C["minimap.ariaLabel"];return x.jsx(wl,{position:g,style:{...t,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*L:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:Qe(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:x.jsxs("svg",{width:B,height:F,viewBox:`${ee} ${re} ${ue} ${de}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ce,ref:$,onClick:pe,children:[ve&&x.jsx("title",{id:ce,children:ve}),x.jsx(V_,{onClick:Se,nodeColor:l,nodeStrokeColor:o,nodeBorderRadius:c,nodeClassName:a,nodeStrokeWidth:d,nodeComponent:h}),x.jsx("path",{className:"react-flow__minimap-mask",d:`M${ee-T},${re-T}h${ue+T*2}v${de+T*2}h${-ue-T*2}z + M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wg.displayName="MiniMap";const K_=W.memo(Wg),G_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,q_={[oi.Line]:"right",[oi.Handle]:"bottom-right"};function Z_({nodeId:t,position:r,variant:o=oi.Handle,className:l,style:a=void 0,children:c,color:d,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:g,autoScale:S=!0,shouldResize:_,onResizeStart:M,onResize:k,onResizeEnd:E}){const z=Sg(),N=typeof t=="string"?t:z,P=be(),b=W.useRef(null),$=o===oi.Handle,H=Te(W.useCallback(G_($&&S),[$,S]),Ue),X=W.useRef(null),K=r??q_[o];W.useEffect(()=>{if(!(!b.current||!N))return X.current||(X.current=x1({domNode:b.current,nodeId:N,getStoreItems:()=>{const{nodeLookup:Z,transform:te,snapGrid:J,snapToGrid:C,nodeOrigin:B,domNode:F}=P.getState();return{nodeLookup:Z,transform:te,snapGrid:J,snapToGrid:C,nodeOrigin:B,paneDomNode:F}},onChange:(Z,te)=>{const{triggerNodeChanges:J,nodeLookup:C,parentLookup:B,nodeOrigin:F}=P.getState(),V=[],A={x:Z.x,y:Z.y},L=C.get(N);if(L&&L.expandParent&&L.parentId){const O=L.origin??F,j=Z.width??L.measured.width??0,T=Z.height??L.measured.height??0,ee={id:L.id,parentId:L.parentId,rect:{width:j,height:T,...Wp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:j,height:T},L.parentId,C,O)}},re=dc([ee],C,B,F);V.push(...re),A.x=Z.x?Math.max(O[0]*j,Z.x):void 0,A.y=Z.y?Math.max(O[1]*T,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:N,type:"position",position:{...A}};V.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const j={id:N,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};V.push(j)}for(const O of te){const j={...O,type:"position"};V.push(j)}J(V)},onEnd:({width:Z,height:te})=>{const J={id:N,type:"dimensions",resizing:!1,dimensions:{width:Z,height:te}};P.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:K,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:m},keepAspectRatio:v,resizeDirection:g,onResizeStart:M,onResize:k,onResizeEnd:E,shouldResize:_}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[K,h,p,y,m,v,M,k,E,_]);const ne=K.split("-");return x.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...ne,o,l]),ref:b,style:{...a,scale:H,...d&&{[$?"backgroundColor":"borderColor"]:d}},children:c})}W.memo(Z_);const J_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function ek(t){return J_[t]??8}function tk(t){const r=new Map;for(const l of t){const a=ek(l.type),c=r.get(a)??[];c.push(l),r.set(a,c)}const o=new Map;for(const[l,a]of r)a.sort((c,d)=>c.name.localeCompare(d.name)),a.forEach((c,d)=>{o.set(c.id,{x:l*260,y:d*108})});return o}const nk={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function rk({data:t,selected:r}){return x.jsxs("div",{className:r?"lp-node selected":"lp-node",children:[x.jsx("div",{className:"t",children:Qu(t.type)}),x.jsx("div",{className:"n",children:t.name})]})}const ik={load:rk};function Ru({nodes:t,edges:r}){const[o,l]=W.useState(null),a=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=W.useMemo(()=>new Map(t.map(v=>[v.id,v])),[t]),d=o?c.get(o)??null:null,h=tk(t),p=t.map(v=>({id:v.id,type:"load",position:h.get(v.id)??{x:0,y:0},data:{name:v.name,type:v.type,file:v.file_path},selected:o===v.id})),y=r.filter(v=>c.has(v.src)&&c.has(v.dst)).map(v=>({id:v.id,source:v.src,target:v.dst,animated:!a&&v.weight==="critical",style:{stroke:nk[v.weight]||"var(--edge-cheap)",strokeWidth:v.weight==="critical"?2.4:1.2,strokeDasharray:v.confidence<.8?"6 4":void 0},label:v.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:10}})),m=(v,g)=>{l(g.id)};return x.jsxs("div",{style:{flex:1,minHeight:0,position:"relative"},children:[x.jsx(Vg,{children:x.jsxs(k_,{nodes:p,edges:y,nodeTypes:ik,fitView:!0,fitViewOptions:{padding:.2,maxZoom:1.15},minZoom:.25,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,deleteKeyCode:null,onNodeClick:m,onPaneClick:()=>l(null),proOptions:{hideAttribution:!1},"data-testid":"impact-graph",children:[x.jsx(M_,{}),x.jsx(K_,{pannable:!0,zoomable:!0}),x.jsx(A_,{})]})}),d?x.jsxs("aside",{className:"inspector","data-testid":"graph-inspector",children:[x.jsx("div",{className:"t",children:Qu(d.type)}),x.jsx("div",{className:"n",children:d.name}),d.context?x.jsx("div",{className:"muted",children:d.context}):null,d.file_path?x.jsxs("div",{className:"file",children:[d.file_path,d.start_line?`:${d.start_line}`:""]}):null,x.jsx("div",{className:"muted",children:d.qualified_name})]}):null]})}const cl=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],ok="obsidian",Yg="loadpath.theme";function sk(t){return cl.some(r=>r.id===t)}function Xg(){try{const t=localStorage.getItem(Yg)||"";if(sk(t))return t}catch{}return ok}function lk(t){var r;return((r=cl.find(o=>o.id===t))==null?void 0:r.group)==="light"?"light":"dark"}function Qg(t){document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=lk(t);try{localStorage.setItem(Yg,t)}catch{}}const tp=[{id:"review",label:"Review",testId:"tab-review",shortcut:"1",icon:b0},{id:"architecture",label:"Architecture",testId:"tab-architecture",shortcut:"2",icon:F0},{id:"graph",label:"Impact graph",testId:"tab-graph",shortcut:"3",icon:H0},{id:"prs",label:"Pull requests",testId:"tab-prs",shortcut:"4",icon:V0},{id:"settings",label:"Settings",testId:"tab-settings",shortcut:"5",icon:B0}];function ak(){var Lt,kt,Et,it,ft;const[t,r]=W.useState("review"),[o,l]=W.useState(localStorage.getItem("loadpath.repo")||""),[a,c]=W.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[d,h]=W.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=W.useState(null),[m,v]=W.useState(null),[g,S]=W.useState([]),[_,M]=W.useState("review"),[k,E]=W.useState(""),[z,N]=W.useState(""),[P,b]=W.useState(""),[$,H]=W.useState({}),[X,K]=W.useState([]),[ne,Z]=W.useState(localStorage.getItem("loadpath.scmRepo")||""),[te,J]=W.useState(localStorage.getItem("loadpath.provider")||"github"),[C,B]=W.useState(localStorage.getItem("loadpath.prNumber")||""),[F,V]=W.useState(""),[A,L]=W.useState(Xg),O=W.useRef(o);O.current=o;const j=q=>{L(q),Qg(q)},T=W.useRef(""),ee=q=>{T.current=q,N(q)};W.useEffect(()=>{St.settings().then(H).catch(()=>{}),St.repos().then(q=>S(q.repos)).catch(()=>{})},[]),W.useEffect(()=>{if(t!=="architecture"||!o)return;const q=o;let we=!1;return St.architecture(q).then(Ae=>{!we&&O.current===q&&v(Ae)}).catch(()=>{}),()=>{we=!0}},[t,o]);const re=q=>{l(q),localStorage.setItem("loadpath.repo",q)},ue=(q,we)=>{c(q),h(we),localStorage.setItem("loadpath.base",q),localStorage.setItem("loadpath.head",we)},de=(q,we,Ae)=>{J(q),Z(we),localStorage.setItem("loadpath.provider",q),localStorage.setItem("loadpath.scmRepo",we),Ae!==void 0&&(B(Ae),localStorage.setItem("loadpath.prNumber",Ae))},ce=async(q=o)=>{if(!q)return null;const we=await St.architecture(q);return O.current===q&&v(we),we},Q=async()=>{if(!T.current){E(""),b(""),ee("Tracing load path…"),re(o),ue(a,d);try{const q=await St.review(o,a,d,!0);y(q),M("review"),r("review"),await St.repos().then(we=>S(we.repos)).catch(()=>{}),await ce(o)}catch(q){E(q instanceof Error?q.message:String(q))}finally{ee("")}}},se=async(q=!0)=>{if(!T.current){E(""),b(""),ee(q?"Indexing…":"Full reindex…"),re(o);try{await St.index(o,q);const we=await ce(o);await St.repos().then(Ae=>S(Ae.repos)).catch(()=>{}),we!=null&&we.indexed&&(M("architecture"),r("architecture"))}catch(we){E(we instanceof Error?we.message:String(we))}finally{ee("")}}},pe=async()=>{if(!T.current){E(""),b(""),ee("Detecting layout…"),re(o);try{const q=await St.init(o);b(q.message),await St.repos().then(we=>S(we.repos)).catch(()=>{})}catch(q){E(q instanceof Error?q.message:String(q))}finally{ee("")}}},Se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),b("Copied markdown brief")}catch(q){E(q instanceof Error?q.message:String(q))}},ve=async()=>{if(!T.current){if(!(p!=null&&p.markdown)||!ne||!C){E("Pick a pull request first (Pull requests tab), then post the brief.");return}ee("Posting Loadpath brief…");try{const q=await St.postComment(te,ne,Number(C),p.markdown);b(q.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(q){E(q instanceof Error?q.message:String(q))}finally{ee("")}}},me=async()=>{if(!T.current){E(""),ee("Fetching pull requests…");try{const q=await St.prs(te,ne);K(q.pull_requests)}catch(q){E(q instanceof Error?q.message:String(q))}finally{ee("")}}},Ce=async q=>{q.preventDefault();const we=new FormData(q.currentTarget),Ae={github_token:String(we.get("github_token")||""),bitbucket_token:String(we.get("bitbucket_token")||""),bitbucket_username:String(we.get("bitbucket_username")||""),ai_provider:String(we.get("ai_provider")||"none"),ai_api_key:String(we.get("ai_api_key")||""),ai_model:String(we.get("ai_model")||""),ai_base_url:String(we.get("ai_base_url")||""),workspaces:g.length?g.map(Ke=>({path:Ke.path,name:Ke.name})):o?[{path:o,name:O0(o)}]:[]};try{H(await St.saveSettings(Ae)),b("Settings saved on this machine")}catch(Ke){E(Ke instanceof Error?Ke.message:String(Ke))}},Me=async()=>{if(!(!p||T.current)){ee("Residual analysis…");try{const q=await St.residual(p);V(q.note)}catch(q){E(q instanceof Error?q.message:String(q))}finally{ee("")}}},Pe=W.useRef(Q);Pe.current=Q;const ze=W.useRef(t);ze.current=t,W.useEffect(()=>{const q=we=>{const Ae=we.target;if(Ae&&(Ae.tagName==="INPUT"||Ae.tagName==="TEXTAREA"||Ae.tagName==="SELECT"||Ae.isContentEditable)){we.key==="Escape"&&Ae.blur();return}if(we.key==="Escape"){E(""),b("");return}const Ke=tp.find(un=>un.shortcut===we.key);if(Ke&&!we.metaKey&&!we.ctrlKey&&!we.altKey&&r(Ke.id),(we.metaKey||we.ctrlKey)&&we.key==="Enter"){if(ze.current==="settings"||ze.current==="prs"||T.current)return;we.preventDefault(),Pe.current()}};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[]);const Ze=W.useMemo(()=>_==="architecture"?(m==null?void 0:m.nodes)??[]:(p==null?void 0:p.nodes)??[],[_,m,p]),lt=W.useMemo(()=>_==="architecture"?(m==null?void 0:m.edges)??[]:(p==null?void 0:p.edges)??[],[_,m,p]),Je=p!=null&&p.index?`${p.index.counts.nodes} nodes · ${p.index.counts.edges} edges`:m!=null&&m.indexed?`${m.counts.nodes} nodes · ${m.counts.edges} edges`:"Not indexed",et=((p==null?void 0:p.findings)||[]).filter(q=>!q.waived);return x.jsxs("div",{className:"app",children:[x.jsx("a",{className:"skip",href:"#main",children:"Skip to content"}),x.jsxs("nav",{className:"rail","data-testid":"rail","aria-label":"Primary",children:[x.jsxs("div",{className:"brand",children:[x.jsx("div",{className:"brand-mark",children:"Loadpath"}),x.jsx("div",{className:"brand-sub",children:"Load-path review"})]}),tp.map(q=>{const we=q.icon,Ae=t===q.id;return x.jsxs("button",{type:"button","data-testid":q.testId,className:Ae?"nav-item active":"nav-item","aria-current":Ae?"page":void 0,"aria-label":q.label,onClick:()=>r(q.id),children:[x.jsx(we,{}),x.jsx("span",{children:q.label})]},q.id)}),x.jsxs("div",{className:"theme-pick",children:[x.jsx("label",{htmlFor:"theme-select",children:"Theme"}),x.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:q=>j(q.target.value),children:cl.map(q=>x.jsx("option",{value:q.id,children:q.label},q.id))})]}),x.jsxs("div",{className:"rail-foot",children:[x.jsx("div",{className:"muted",role:"status",children:z||Je}),x.jsxs("div",{className:"kbd-hint",children:[x.jsx("kbd",{children:"1"}),"–",x.jsx("kbd",{children:"5"})," tabs · ",x.jsx("kbd",{children:"Ctrl"}),"+",x.jsx("kbd",{children:"Enter"})," review"]})]})]}),x.jsxs("div",{className:"main",id:"main",children:[z?x.jsxs("div",{className:"progress",role:"status","aria-live":"polite","aria-busy":"true",children:[x.jsx("i",{}),x.jsx("span",{className:"sr-only",children:z})]}):null,x.jsxs("header",{className:"topbar","data-testid":"topbar",children:[g.length>0?x.jsxs("label",{className:"field workspace",children:[x.jsx("span",{children:"Workspace"}),x.jsxs("select",{"data-testid":"workspace-select",value:g.some(q=>q.path===o)?o:"",onChange:q=>{q.target.value&&re(q.target.value)},children:[x.jsx("option",{value:"",children:"Indexed repos…"}),g.map(q=>x.jsxs("option",{value:q.path,children:[q.name,q.indexed?` (${q.counts.nodes})`:""]},q.path))]})]}):null,x.jsxs("label",{className:"field path",children:[x.jsx("span",{children:"Repository"}),x.jsx("input",{"data-testid":"repo-path",placeholder:"Local monorepo path",value:o,onChange:q=>l(q.target.value),spellCheck:!1})]}),x.jsxs("label",{className:"field ref",children:[x.jsx("span",{children:"Base"}),x.jsx("input",{"data-testid":"base-ref",value:a,onChange:q=>ue(q.target.value,d),placeholder:"base",spellCheck:!1})]}),x.jsxs("label",{className:"field ref",children:[x.jsx("span",{children:"Head"}),x.jsx("input",{"data-testid":"head-ref",value:d,onChange:q=>ue(a,q.target.value),placeholder:"head",spellCheck:!1})]}),x.jsxs("div",{className:"topbar-actions",children:[x.jsx("button",{type:"button","data-testid":"btn-init",disabled:!!z,onClick:pe,children:"Draft config"}),x.jsx("button",{type:"button","data-testid":"btn-index",disabled:!!z,onClick:()=>se(!0),children:"Index"}),x.jsx("button",{type:"button","data-testid":"btn-review",className:"btn primary",disabled:!!z,onClick:Q,children:"Review"})]})]}),x.jsxs("div",{className:"alerts",children:[k?x.jsxs("div",{className:"error",children:[x.jsx("span",{children:k}),x.jsx("button",{type:"button",className:"dismiss",onClick:()=>E(""),"aria-label":"Dismiss error",children:"×"})]}):null,P?x.jsxs("div",{className:"banner","data-testid":"status-note",children:[x.jsx("span",{children:P}),x.jsx("button",{type:"button",className:"dismiss",onClick:()=>b(""),"aria-label":"Dismiss",children:"×"})]}):null,((Lt=p==null?void 0:p.index)!=null&&Lt.stale||m!=null&&m.stale)&&(t==="review"||t==="architecture")?x.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((kt=p==null?void 0:p.index)==null?void 0:kt.django_boot)==="failed"||(m==null?void 0:m.django_boot)==="failed"?x.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((Et=p==null?void 0:p.index)==null?void 0:Et.django_boot_detail)||(m==null?void 0:m.django_boot_detail)||"django.setup() failed"}):null,(it=p==null?void 0:p.workspace)!=null&&it.dirty_overlaps_review&&t==="review"?x.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null]}),x.jsxs("div",{className:"stage",children:[t==="review"&&x.jsxs("div",{className:"content","data-testid":"review-layout",children:[x.jsx("aside",{className:"brief","data-testid":"brief",children:p?x.jsx(uk,{review:p,findings:et,aiNote:F,busy:!!z,onAskAi:Me,onCopy:Se,onPost:ve}):x.jsxs("div",{className:"empty","data-testid":"review-empty",children:[x.jsx("h2",{children:"Trace the force of this diff"}),x.jsx("p",{children:"The graph is the architecture. The brief is where this change travels — not a hunk list."}),x.jsxs("ol",{children:[x.jsx("li",{children:"Point at a Django + React monorepo, or pick an indexed workspace."}),x.jsxs("li",{children:["Index it. Missing ",x.jsx("code",{children:"loadpath.yml"})," is drafted from ",x.jsx("code",{children:"manage.py"})," and"," ",x.jsx("code",{children:"src/features"}),"."]}),x.jsx("li",{children:"Review a git range, or open a pull request so base/head become a three-dot merge-base."})]})]})}),x.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?x.jsx(Ru,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&x.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[x.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:m!=null&&m.indexed?x.jsx(ck,{architecture:m,busy:!!z,onReindex:()=>se(!1),onReview:Q}):x.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),x.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:m!=null&&m.indexed?x.jsx(Ru,{nodes:m.nodes,edges:m.edges}):null})]}),t==="graph"&&x.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%"},children:[x.jsxs("div",{className:"graph-modes",children:[x.jsxs("div",{className:"seg","aria-label":"Graph scope",children:[x.jsx("button",{type:"button","aria-pressed":_==="review","data-testid":"graph-mode-review",className:_==="review"?"active":"",onClick:()=>M("review"),children:"This review"}),x.jsx("button",{type:"button","aria-pressed":_==="architecture","data-testid":"graph-mode-architecture",className:_==="architecture"?"active":"",onClick:()=>M("architecture"),children:"Indexed architecture"})]}),x.jsxs("div",{className:"legend","aria-hidden":"true",children:[x.jsxs("span",{children:[x.jsx("i",{})," cheap"]}),x.jsxs("span",{children:[x.jsx("i",{className:"exp"})," expensive"]}),x.jsxs("span",{children:[x.jsx("i",{className:"crit"})," critical"]}),x.jsxs("span",{children:[x.jsx("i",{className:"dash"})," inferred"]})]})]}),Ze.length?x.jsx(Ru,{nodes:Ze,edges:lt}):x.jsx("p",{className:"empty",children:"Index the repo or run a review first. Click a node to inspect it."})]}),t==="prs"&&x.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[x.jsxs("div",{className:"pr-toolbar",children:[x.jsxs("label",{className:"field provider",children:[x.jsx("span",{children:"Provider"}),x.jsxs("select",{"data-testid":"pr-provider",value:te,onChange:q=>de(q.target.value,ne,C),children:[x.jsx("option",{value:"github",children:"GitHub"}),x.jsx("option",{value:"bitbucket",children:"Bitbucket"})]})]}),x.jsxs("label",{className:"field",children:[x.jsx("span",{children:"Repository"}),x.jsx("input",{"data-testid":"pr-repo",placeholder:"owner/repo",value:ne,onChange:q=>de(te,q.target.value,C),spellCheck:!1})]}),x.jsx("button",{type:"button","data-testid":"btn-list-prs",className:"btn",disabled:!!z,onClick:me,children:"List PRs"})]}),X.length===0?x.jsxs("div",{className:"empty",children:[x.jsx("h2",{children:"No pull requests loaded"}),x.jsx("p",{children:"Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs."})]}):X.map(q=>x.jsxs("article",{className:"pr","data-testid":`pr-${q.number}`,children:[x.jsxs("h3",{children:["#",q.number," ",q.title]}),x.jsxs("div",{className:"pr-meta muted",children:[x.jsx("span",{className:`chip ${q.draft?"":"open"}`,children:q.draft?"draft":q.state}),x.jsx("span",{children:q.author}),x.jsxs("span",{children:[q.source_branch," → ",q.target_branch]})]}),x.jsxs("div",{className:"pr-actions",children:[x.jsxs("a",{href:q.url,target:"_blank",rel:"noreferrer",children:["Open on ",q.provider]}),x.jsx("button",{type:"button",className:"btn primary",onClick:()=>{ue(q.base_sha||q.target_branch,q.head_sha||q.source_branch),de(q.provider,q.repo,String(q.number)),r("review")},children:"Review this range"})]})]},`${q.provider}-${q.number}`))]}),t==="settings"&&x.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:Ce,children:[x.jsxs("div",{children:[x.jsx("h1",{children:"Settings"}),x.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the graph could not close."})]}),x.jsxs("section",{className:"settings-card",children:[x.jsx("h2",{children:"Appearance"}),x.jsx("p",{className:"muted",children:"Local to this browser. High contrast is a first-class theme, not an afterthought."}),x.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:cl.map(q=>x.jsxs("button",{type:"button",className:A===q.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${q.id}`,onClick:()=>j(q.id),children:[x.jsx("div",{className:"name",children:q.label}),x.jsx("div",{className:"group",children:q.group})]},q.id))})]}),x.jsxs("section",{className:"settings-card",children:[x.jsx("h2",{children:"Source control"}),x.jsx("label",{htmlFor:"github_token",children:"GitHub token"}),x.jsx("input",{id:"github_token",name:"github_token",type:"password",placeholder:"ghp_…",autoComplete:"off"}),x.jsx("label",{htmlFor:"bitbucket_token",children:"Bitbucket token"}),x.jsx("input",{id:"bitbucket_token",name:"bitbucket_token",type:"password",autoComplete:"off"}),x.jsx("label",{htmlFor:"bitbucket_username",children:"Bitbucket username (app passwords)"}),x.jsx("input",{id:"bitbucket_username",name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")})]}),x.jsxs("section",{className:"settings-card",children:[x.jsx("h2",{children:"Residual AI"}),x.jsx("label",{htmlFor:"ai_provider",children:"Provider"}),x.jsxs("select",{id:"ai_provider",name:"ai_provider",defaultValue:String(((ft=$.ai)==null?void 0:ft.provider)||"none"),children:[x.jsx("option",{value:"none",children:"none (graph only)"}),x.jsx("option",{value:"anthropic",children:"Anthropic"}),x.jsx("option",{value:"openai",children:"OpenAI"}),x.jsx("option",{value:"grok",children:"Grok / xAI"}),x.jsx("option",{value:"deepseek",children:"DeepSeek"}),x.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),x.jsx("option",{value:"ollama",children:"Ollama local"})]}),x.jsx("label",{htmlFor:"ai_api_key",children:"API key"}),x.jsx("input",{id:"ai_api_key",name:"ai_api_key",type:"password",autoComplete:"off"}),x.jsx("label",{htmlFor:"ai_model",children:"Model"}),x.jsx("input",{id:"ai_model",name:"ai_model",placeholder:"optional override"}),x.jsx("label",{htmlFor:"ai_base_url",children:"Base URL"}),x.jsx("input",{id:"ai_base_url",name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),x.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})]})]})}function uk({review:t,findings:r,aiNote:o,busy:l,onAskAi:a,onCopy:c,onPost:d}){var p,y,m,v,g,S,_,M;const h=[...new Set(t.confidence.reasons||[])];return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:`merge-box ${t.confidence.level}`,children:[x.jsxs("div",{className:`level ${t.confidence.level}`,children:[t.confidence.level.toUpperCase()," — ",t.title]}),h.length?x.jsx("ul",{className:"reasons",children:h.map(k=>x.jsx("li",{children:k},k))}):null,t.low_risk?x.jsx("span",{className:"chip",children:"low-risk"}):null,t.change_kinds.map(k=>x.jsx("span",{className:"chip",children:$0(k)},k))]}),x.jsxs("div",{className:"metrics",children:[x.jsxs("div",{className:"metric",children:[x.jsxs("div",{className:"n",children:[t.confidence.covered_sinks,"/",t.confidence.sinks]}),x.jsx("div",{className:"l",children:"Sinks tested"})]}),x.jsxs("div",{className:"metric",children:[x.jsx("div",{className:"n",children:r.length}),x.jsx("div",{className:"l",children:"Findings"})]}),x.jsxs("div",{className:"metric",children:[x.jsx("div",{className:"n",children:t.residuals.length}),x.jsx("div",{className:"l",children:"Residuals"})]})]}),x.jsx("pre",{className:"headline",children:t.headline}),t.index?x.jsxs("details",{className:"section",open:!0,children:[x.jsxs("summary",{children:["Index ",x.jsx("span",{className:"count",children:t.index.counts.nodes})]}),x.jsxs("div",{className:"muted",children:["Walked ",t.index.counts.nodes," nodes / ",t.index.counts.edges," edges",t.index.reindex_skipped?" from an unchanged index":t.index.reindexed?" after an incremental refresh":" from the existing index",t.index.django_boot&&t.index.django_boot!=="off"?` · Django boot ${t.index.django_boot}`:"",(p=t.workspace)!=null&&p.three_dot?" · three-dot range":""]})]}):null,x.jsxs("details",{className:"section",open:!0,children:[x.jsxs("summary",{children:["Read this ",x.jsx("span",{className:"count",children:t.read_order.length})]}),t.read_order.map((k,E)=>x.jsxs("div",{className:"read-item",children:[x.jsxs("span",{className:"file",children:[E+1,". ",k.path]}),x.jsx("div",{className:"why",children:k.why})]},k.path))]}),x.jsxs("details",{className:"section",children:[x.jsxs("summary",{children:["Clusters ",x.jsx("span",{className:"count",children:t.clusters.length})]}),t.clusters.map(k=>x.jsxs("div",{className:"muted",children:[x.jsx("strong",{children:k.title})," — ",k.files.join(", ")]},k.id))]}),x.jsxs("details",{className:"section",open:!0,children:[x.jsxs("summary",{children:["Architecture ",x.jsx("span",{className:"count",children:r.length})]}),r.length===0?x.jsx("div",{className:"muted",children:t.architecture_note}):r.map(k=>x.jsxs("div",{className:"finding",children:[x.jsx("span",{className:`chip ${k.severity}`,children:k.severity}),k.message]},k.rule+k.message))]}),x.jsxs("details",{className:"section",open:!0,children:[x.jsxs("summary",{children:["Residual ",x.jsx("span",{className:"count",children:t.residuals.length})]}),x.jsx("p",{className:"muted",children:"AI is only used here, on what the graph could not close."}),t.residuals.map(k=>x.jsx("div",{className:"residual muted",children:k},k))]}),(m=(y=t.evolution)==null?void 0:y.notes)!=null&&m.length||(g=(v=t.evolution)==null?void 0:v.hotspots)!=null&&g.some(k=>k.commits)?x.jsxs("details",{className:"section",children:[x.jsx("summary",{children:"Churn & coupling"}),(((S=t.evolution)==null?void 0:S.notes)||[]).map(k=>x.jsx("div",{className:"muted",children:k},k)),(((_=t.evolution)==null?void 0:_.hotspots)||[]).filter(k=>k.commits).slice(0,6).map(k=>x.jsxs("div",{className:"muted",children:[x.jsx("span",{className:"file",children:k.path})," — ",k.commits," commits, bus factor ",k.bus_factor]},k.path))]}):null,x.jsxs("div",{className:"btn-row",children:[x.jsx("button",{type:"button",className:"btn",disabled:l,onClick:a,children:"Ask configured model"}),x.jsx("button",{type:"button",className:"btn","data-testid":"btn-copy-markdown",onClick:c,children:"Copy markdown"}),x.jsx("button",{type:"button",className:"btn","data-testid":"btn-post-comment",onClick:d,children:"Post to PR"})]}),o?x.jsx("pre",{className:"headline",children:o}):null,x.jsx("div",{className:"kicker",children:"Reviewers"}),x.jsx("div",{className:"muted",children:t.suggested_reviewers.join(", ")||"—"}),(M=t.knowledge_owners)!=null&&M.length?x.jsxs("div",{className:"muted",children:["Knowledge: ",t.knowledge_owners.join(", ")]}):null]})}function ck({architecture:t,busy:r,onReindex:o,onReview:l}){const a=t.findings.filter(c=>!c.waived);return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"merge-box high",children:[x.jsxs("div",{className:"level high",children:["INDEXED — ",t.counts.nodes," nodes"]}),x.jsxs("div",{className:"muted",style:{marginTop:8},children:[t.indexed_at?`Last index ${D0(t.indexed_at)}`:"Indexed",t.incremental?" · incremental":" · full",t.stale?" · stale":"",t.django_boot&&t.django_boot!=="off"?` · Django boot ${t.django_boot}`:""]}),x.jsxs("span",{className:"chip",children:[t.counts.edges," edges"]}),t.has_config?x.jsx("span",{className:"chip",children:"loadpath.yml"}):null]}),x.jsxs("details",{className:"section",open:!0,children:[x.jsx("summary",{children:"Bounded contexts"}),Object.values(t.contexts).map(c=>x.jsxs("div",{className:"muted",children:[x.jsx("strong",{children:c.name})," — ",(c.django_apps||[]).join(", ")||"no apps"," ·"," ",(c.owners||[]).join(", ")||"unowned"]},c.name))]}),x.jsxs("details",{className:"section",children:[x.jsxs("summary",{children:["Rules ",x.jsx("span",{className:"count",children:(t.rules||[]).length})]}),(t.rules||[]).map(c=>x.jsx("div",{className:"muted",children:c},c))]}),x.jsxs("details",{className:"section",open:!0,children:[x.jsxs("summary",{children:["Findings ",x.jsx("span",{className:"count",children:a.length})]}),a.length===0?x.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):a.map(c=>x.jsxs("div",{className:"finding",children:[x.jsx("span",{className:`chip ${c.severity}`,children:c.severity}),c.message]},c.rule+c.message))]}),x.jsxs("details",{className:"section",open:!0,children:[x.jsx("summary",{children:"Types"}),x.jsx("table",{className:"type-table",children:x.jsx("tbody",{children:Object.entries(t.type_counts||{}).sort((c,d)=>d[1]-c[1]).slice(0,12).map(([c,d])=>x.jsxs("tr",{children:[x.jsx("td",{children:Qu(c)}),x.jsx("td",{children:d})]},c))})})]}),x.jsxs("div",{className:"btn-row",children:[x.jsx("button",{type:"button",className:"btn",disabled:r,onClick:o,"data-testid":"btn-full-reindex",children:"Full reindex"}),x.jsx("button",{type:"button",className:"btn primary",disabled:r,onClick:l,children:"Review against this index"})]})]})}Qg(Xg());A0.createRoot(document.getElementById("root")).render(x.jsx(W.StrictMode,{children:x.jsx(ak,{})})); diff --git a/src/loadpath/static/assets/index-Dga6v2BT.js b/src/loadpath/static/assets/index-Dga6v2BT.js deleted file mode 100644 index a92b877..0000000 --- a/src/loadpath/static/assets/index-Dga6v2BT.js +++ /dev/null @@ -1,62 +0,0 @@ -(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function o(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=o(a);fetch(a.href,c)}})();function np(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var gu={exports:{}},Gi={},mu={exports:{}},Me={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Df;function j0(){if(Df)return Me;Df=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.iterator;function m(j){return j===null||typeof j!="object"?null:(j=x&&j[x]||j["@@iterator"],typeof j=="function"?j:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,M={};function E(j,z,ne){this.props=j,this.context=z,this.refs=M,this.updater=ne||S}E.prototype.isReactComponent={},E.prototype.setState=function(j,z){if(typeof j!="object"&&typeof j!="function"&&j!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,j,z,"setState")},E.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function N(){}N.prototype=E.prototype;function T(j,z,ne){this.props=j,this.context=z,this.refs=M,this.updater=ne||S}var k=T.prototype=new N;k.constructor=T,_(k,E.prototype),k.isPureReactComponent=!0;var P=Array.isArray,b=Object.prototype.hasOwnProperty,$={current:null},H={key:!0,ref:!0,__self:!0,__source:!0};function X(j,z,ne){var re,ue={},ce=null,de=null;if(z!=null)for(re in z.ref!==void 0&&(de=z.ref),z.key!==void 0&&(ce=""+z.key),z)b.call(z,re)&&!H.hasOwnProperty(re)&&(ue[re]=z[re]);var G=arguments.length-2;if(G===1)ue.children=ne;else if(1>>1,z=A[j];if(0>>1;ja(ue,O))cea(de,ue)?(A[j]=de,A[ce]=O,j=ce):(A[j]=ue,A[re]=O,j=re);else if(cea(de,O))A[j]=de,A[ce]=O,j=ce;else break e}}return L}function a(A,L){var O=A.sortIndex-L.sortIndex;return O!==0?O:A.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();t.unstable_now=function(){return d.now()-h}}var p=[],y=[],g=1,x=null,m=3,S=!1,_=!1,M=!1,E=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(A){for(var L=o(y);L!==null;){if(L.callback===null)l(y);else if(L.startTime<=A)l(y),L.sortIndex=L.expirationTime,r(p,L);else break;L=o(y)}}function P(A){if(M=!1,k(A),!_)if(o(p)!==null)_=!0,F(b);else{var L=o(y);L!==null&&V(P,L.startTime-A)}}function b(A,L){_=!1,M&&(M=!1,N(X),X=-1),S=!0;var O=m;try{for(k(L),x=o(p);x!==null&&(!(x.expirationTime>L)||A&&!Z());){var j=x.callback;if(typeof j=="function"){x.callback=null,m=x.priorityLevel;var z=j(x.expirationTime<=L);L=t.unstable_now(),typeof z=="function"?x.callback=z:x===o(p)&&l(p),k(L)}else l(p);x=o(p)}if(x!==null)var ne=!0;else{var re=o(y);re!==null&&V(P,re.startTime-L),ne=!1}return ne}finally{x=null,m=O,S=!1}}var $=!1,H=null,X=-1,Q=5,te=-1;function Z(){return!(t.unstable_now()-teA||125j?(A.sortIndex=O,r(y,A),o(p)===null&&A===o(y)&&(M?(N(X),X=-1):M=!0,V(P,O-j))):(A.sortIndex=z,r(p,A),_||S||(_=!0,F(b))),A},t.unstable_shouldYield=Z,t.unstable_wrapCallback=function(A){var L=m;return function(){var O=m;m=L;try{return A.apply(this,arguments)}finally{m=O}}}})(xu)),xu}var Vf;function z0(){return Vf||(Vf=1,vu.exports=T0()),vu.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Bf;function R0(){if(Bf)return vt;Bf=1;var t=fo(),r=z0();function o(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},x={};function m(e){return p.call(x,e)?!0:p.call(g,e)?!1:y.test(e)?x[e]=!0:(g[e]=!0,!1)}function S(e,n,i,s){if(i!==null&&i.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return s?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _(e,n,i,s){if(n===null||typeof n>"u"||S(e,n,i,s))return!0;if(s)return!1;if(i!==null)switch(i.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function M(e,n,i,s,u,f,w){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=s,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=n,this.sanitizeURL=f,this.removeEmptyString=w}var E={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){E[e]=new M(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];E[n]=new M(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){E[e]=new M(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){E[e]=new M(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){E[e]=new M(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){E[e]=new M(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){E[e]=new M(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){E[e]=new M(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){E[e]=new M(e,5,!1,e.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function T(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(N,T);E[n]=new M(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){E[e]=new M(e,1,!1,e.toLowerCase(),null,!1,!1)}),E.xlinkHref=new M("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){E[e]=new M(e,1,!1,e.toLowerCase(),null,!0,!0)});function k(e,n,i,s){var u=E.hasOwnProperty(n)?E[n]:null;(u!==null?u.type!==0:s||!(2I||u[w]!==f[I]){var R=` -`+u[w].replace(" at new "," at ");return e.displayName&&R.includes("")&&(R=R.replace("",e.displayName)),R}while(1<=w&&0<=I);break}}}finally{ne=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?z(e):""}function ue(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return e=re(e.type,!1),e;case 11:return e=re(e.type.render,!1),e;case 1:return e=re(e.type,!0),e;default:return""}}function ce(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case H:return"Fragment";case $:return"Portal";case Q:return"Profiler";case X:return"StrictMode";case J:return"Suspense";case C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Z:return(e.displayName||"Context")+".Consumer";case te:return(e._context.displayName||"Context")+".Provider";case ee:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case B:return n=e.displayName||null,n!==null?n:ce(e.type)||"Memo";case F:n=e._payload,e=e._init;try{return ce(e(n))}catch{}}return null}function de(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(n);case 8:return n===X?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function G(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function se(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function pe(e){var n=se(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),s=""+e[n];if(!e.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,f=i.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(w){s=""+w,f.call(this,w)}}),Object.defineProperty(e,n,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function we(e){e._valueTracker||(e._valueTracker=pe(e))}function ve(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),s="";return e&&(s=se(e)?e.checked?"true":"false":e.value),e=s,e!==i?(n.setValue(e),!0):!1}function me(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ce(e,n){var i=n.checked;return O({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function je(e,n){var i=n.defaultValue==null?"":n.defaultValue,s=n.checked!=null?n.checked:n.defaultChecked;i=G(n.value!=null?n.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Pe(e,n){n=n.checked,n!=null&&k(e,"checked",n,!1)}function Le(e,n){Pe(e,n);var i=G(n.value),s=n.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?st(e,n.type,i):n.hasOwnProperty("defaultValue")&&st(e,n.type,G(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function rt(e,n,i){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var s=n.type;if(!(s!=="submit"&&s!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,i||n===e.value||(e.value=n),e.defaultValue=n}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function st(e,n,i){(n!=="number"||me(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Ge=Array.isArray;function Ke(e,n,i,s){if(e=e.options,n){n={};for(var u=0;u"+n.valueOf().toString()+"",n=Je.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function ln(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var Xn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kl=["Webkit","ms","Moz","O"];Object.keys(Xn).forEach(function(e){kl.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Xn[n]=Xn[e]})});function wo(e,n,i){return n==null||typeof n=="boolean"||n===""?"":i||typeof n!="number"||n===0||Xn.hasOwnProperty(e)&&Xn[e]?(""+n).trim():n+"px"}function So(e,n){e=e.style;for(var i in n)if(n.hasOwnProperty(i)){var s=i.indexOf("--")===0,u=wo(i,n[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,u):e[i]=u}}var El=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function si(e,n){if(n){if(El[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(o(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(o(61))}if(n.style!=null&&typeof n.style!="object")throw Error(o(62))}}function li(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function ui(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,Sn=null,_n=null;function _o(e){if(e=Li(e)){if(typeof ci!="function")throw Error(o(280));var n=e.stateNode;n&&(n=Zo(n),ci(e.stateNode,e.type,n))}}function ko(e){Sn?_n?_n.push(e):_n=[e]:Sn=e}function Eo(){if(Sn){var e=Sn,n=_n;if(_n=Sn=null,_o(e),n)for(e=0;e>>=0,e===0?32:31-(Ll(e)/Al|0)|0}var Nr=64,Cr=4194304;function qn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function an(e,n){var i=e.pendingLanes;if(i===0)return 0;var s=0,u=e.suspendedLanes,f=e.pingedLanes,w=i&268435455;if(w!==0){var I=w&~u;I!==0?s=qn(I):(f&=w,f!==0&&(s=qn(f)))}else w=i&~u,w!==0?s=qn(w):f!==0&&(s=qn(f));if(s===0)return 0;if(n!==0&&n!==s&&(n&u)===0&&(u=s&-s,f=n&-n,u>=f||u===16&&(f&4194240)!==0))return n;if((s&4)!==0&&(s|=i&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=s;0i;i++)n.push(e);return n}function Jn(e,n,i){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Et(n),e[n]=i}function Ol(e,n){var i=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0=Ni),Pc=" ",Ic=!1;function Tc(e,n){switch(e){case"keyup":return _m.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ir=!1;function Em(e,n){switch(e){case"compositionend":return zc(n);case"keypress":return n.which!==32?null:(Ic=!0,Pc);case"textInput":return e=n.data,e===Pc&&Ic?null:e;default:return null}}function Nm(e,n){if(Ir)return e==="compositionend"||!Gl&&Tc(e,n)?(e=kc(),Ho=Bl=jn=null,Ir=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:i,offset:n-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=bc(i)}}function Hc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Hc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vc(){for(var e=window,n=me();n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=me(e.document)}return n}function Zl(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Lm(e){var n=Vc(),i=e.focusedElem,s=e.selectionRange;if(n!==i&&i&&i.ownerDocument&&Hc(i.ownerDocument.documentElement,i)){if(s!==null&&Zl(i)){if(n=s.start,e=s.end,e===void 0&&(e=n),"selectionStart"in i)i.selectionStart=n,i.selectionEnd=Math.min(e,i.value.length);else if(e=(n=i.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,f=Math.min(s.start,u);s=s.end===void 0?f:Math.min(s.end,u),!e.extend&&f>s&&(u=s,s=f,f=u),u=Fc(i,f);var w=Fc(i,s);u&&w&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==w.node||e.focusOffset!==w.offset)&&(n=n.createRange(),n.setStart(u.node,u.offset),e.removeAllRanges(),f>s?(e.addRange(n),e.extend(w.node,w.offset)):(n.setEnd(w.node,w.offset),e.addRange(n)))}}for(n=[],e=i;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Tr=null,Jl=null,Pi=null,ea=!1;function Bc(e,n,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ea||Tr==null||Tr!==me(s)||(s=Tr,"selectionStart"in s&&Zl(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Pi&&Mi(Pi,s)||(Pi=s,s=Go(Jl,"onSelect"),0$r||(e.current=fa[$r],fa[$r]=null,$r--)}function $e(e,n){$r++,fa[$r]=e.current,e.current=n}var Tn={},lt=In(Tn),ht=In(!1),tr=Tn;function Dr(e,n){var i=e.type.contextTypes;if(!i)return Tn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===n)return s.__reactInternalMemoizedMaskedChildContext;var u={},f;for(f in i)u[f]=n[f];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=u),u}function pt(e){return e=e.childContextTypes,e!=null}function Jo(){Oe(ht),Oe(lt)}function id(e,n,i){if(lt.current!==Tn)throw Error(o(168));$e(lt,n),$e(ht,i)}function od(e,n,i){var s=e.stateNode;if(n=n.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var u in s)if(!(u in n))throw Error(o(108,de(e)||"Unknown",u));return O({},i,s)}function es(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tn,tr=lt.current,$e(lt,e),$e(ht,ht.current),!0}function sd(e,n,i){var s=e.stateNode;if(!s)throw Error(o(169));i?(e=od(e,n,tr),s.__reactInternalMemoizedMergedChildContext=e,Oe(ht),Oe(lt),$e(lt,e)):Oe(ht),$e(ht,i)}var cn=null,ts=!1,ha=!1;function ld(e){cn===null?cn=[e]:cn.push(e)}function Ym(e){ts=!0,ld(e)}function zn(){if(!ha&&cn!==null){ha=!0;var e=0,n=Ae;try{var i=cn;for(Ae=1;e>=w,u-=w,dn=1<<32-Et(n)+u|i<Ne?(nt=Ee,Ee=null):nt=Ee.sibling;var Re=ie(U,Ee,W[Ne],ae);if(Re===null){Ee===null&&(Ee=nt);break}e&&Ee&&Re.alternate===null&&n(U,Ee),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re,Ee=nt}if(Ne===W.length)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;NeNe?(nt=Ee,Ee=null):nt=Ee.sibling;var Hn=ie(U,Ee,Re.value,ae);if(Hn===null){Ee===null&&(Ee=nt);break}e&&Ee&&Hn.alternate===null&&n(U,Ee),D=f(Hn,D,Ne),ke===null?xe=Hn:ke.sibling=Hn,ke=Hn,Ee=nt}if(Re.done)return i(U,Ee),Fe&&rr(U,Ne),xe;if(Ee===null){for(;!Re.done;Ne++,Re=W.next())Re=le(U,Re.value,ae),Re!==null&&(D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return Fe&&rr(U,Ne),xe}for(Ee=s(U,Ee);!Re.done;Ne++,Re=W.next())Re=fe(Ee,U,Ne,Re.value,ae),Re!==null&&(e&&Re.alternate!==null&&Ee.delete(Re.key===null?Ne:Re.key),D=f(Re,D,Ne),ke===null?xe=Re:ke.sibling=Re,ke=Re);return e&&Ee.forEach(function(C0){return n(U,C0)}),Fe&&rr(U,Ne),xe}function Ye(U,D,W,ae){if(typeof W=="object"&&W!==null&&W.type===H&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case b:e:{for(var xe=W.key,ke=D;ke!==null;){if(ke.key===xe){if(xe=W.type,xe===H){if(ke.tag===7){i(U,ke.sibling),D=u(ke,W.props.children),D.return=U,U=D;break e}}else if(ke.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===F&&hd(xe)===ke.type){i(U,ke.sibling),D=u(ke,W.props),D.ref=Ai(U,ke,W),D.return=U,U=D;break e}i(U,ke);break}else n(U,ke);ke=ke.sibling}W.type===H?(D=dr(W.props.children,U.mode,ae,W.key),D.return=U,U=D):(ae=Ps(W.type,W.key,W.props,null,U.mode,ae),ae.ref=Ai(U,D,W),ae.return=U,U=ae)}return w(U);case $:e:{for(ke=W.key;D!==null;){if(D.key===ke)if(D.tag===4&&D.stateNode.containerInfo===W.containerInfo&&D.stateNode.implementation===W.implementation){i(U,D.sibling),D=u(D,W.children||[]),D.return=U,U=D;break e}else{i(U,D);break}else n(U,D);D=D.sibling}D=cu(W,U.mode,ae),D.return=U,U=D}return w(U);case F:return ke=W._init,Ye(U,D,ke(W._payload),ae)}if(Ge(W))return ge(U,D,W,ae);if(L(W))return ye(U,D,W,ae);os(U,W)}return typeof W=="string"&&W!==""||typeof W=="number"?(W=""+W,D!==null&&D.tag===6?(i(U,D.sibling),D=u(D,W),D.return=U,U=D):(i(U,D),D=uu(W,U.mode,ae),D.return=U,U=D),w(U)):i(U,D)}return Ye}var Hr=pd(!0),gd=pd(!1),ss=In(null),ls=null,Vr=null,xa=null;function wa(){xa=Vr=ls=null}function Sa(e){var n=ss.current;Oe(ss),e._currentValue=n}function _a(e,n,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===i)break;e=e.return}}function Br(e,n){ls=e,xa=Vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(gt=!0),e.firstContext=null)}function At(e){var n=e._currentValue;if(xa!==e)if(e={context:e,memoizedValue:n,next:null},Vr===null){if(ls===null)throw Error(o(308));Vr=e,ls.dependencies={lanes:0,firstContext:e}}else Vr=Vr.next=e;return n}var ir=null;function ka(e){ir===null?ir=[e]:ir.push(e)}function md(e,n,i,s){var u=n.interleaved;return u===null?(i.next=i,ka(n)):(i.next=u.next,u.next=i),n.interleaved=i,hn(e,s)}function hn(e,n){e.lanes|=n;var i=e.alternate;for(i!==null&&(i.lanes|=n),i=e,e=e.return;e!==null;)e.childLanes|=n,i=e.alternate,i!==null&&(i.childLanes|=n),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Rn=!1;function Ea(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yd(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function pn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Ln(e,n,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Te&2)!==0){var u=s.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),s.pending=n,hn(e,i)}return u=s.interleaved,u===null?(n.next=n,ka(s)):(n.next=u.next,u.next=n),s.interleaved=n,hn(e,i)}function as(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194240)!==0)){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}function vd(e,n){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var u=null,f=null;if(i=i.firstBaseUpdate,i!==null){do{var w={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};f===null?u=f=w:f=f.next=w,i=i.next}while(i!==null);f===null?u=f=n:f=f.next=n}else u=f=n;i={baseState:s.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}function us(e,n,i,s){var u=e.updateQueue;Rn=!1;var f=u.firstBaseUpdate,w=u.lastBaseUpdate,I=u.shared.pending;if(I!==null){u.shared.pending=null;var R=I,K=R.next;R.next=null,w===null?f=K:w.next=K,w=R;var oe=e.alternate;oe!==null&&(oe=oe.updateQueue,I=oe.lastBaseUpdate,I!==w&&(I===null?oe.firstBaseUpdate=K:I.next=K,oe.lastBaseUpdate=R))}if(f!==null){var le=u.baseState;w=0,oe=K=R=null,I=f;do{var ie=I.lane,fe=I.eventTime;if((s&ie)===ie){oe!==null&&(oe=oe.next={eventTime:fe,lane:0,tag:I.tag,payload:I.payload,callback:I.callback,next:null});e:{var ge=e,ye=I;switch(ie=n,fe=i,ye.tag){case 1:if(ge=ye.payload,typeof ge=="function"){le=ge.call(fe,le,ie);break e}le=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=ye.payload,ie=typeof ge=="function"?ge.call(fe,le,ie):ge,ie==null)break e;le=O({},le,ie);break e;case 2:Rn=!0}}I.callback!==null&&I.lane!==0&&(e.flags|=64,ie=u.effects,ie===null?u.effects=[I]:ie.push(I))}else fe={eventTime:fe,lane:ie,tag:I.tag,payload:I.payload,callback:I.callback,next:null},oe===null?(K=oe=fe,R=le):oe=oe.next=fe,w|=ie;if(I=I.next,I===null){if(I=u.shared.pending,I===null)break;ie=I,I=ie.next,ie.next=null,u.lastBaseUpdate=ie,u.shared.pending=null}}while(!0);if(oe===null&&(R=le),u.baseState=R,u.firstBaseUpdate=K,u.lastBaseUpdate=oe,n=u.shared.interleaved,n!==null){u=n;do w|=u.lane,u=u.next;while(u!==n)}else f===null&&(u.shared.lanes=0);lr|=w,e.lanes=w,e.memoizedState=le}}function xd(e,n,i){if(e=n.effects,n.effects=null,e!==null)for(n=0;ni?i:4,e(!0);var s=Pa.transition;Pa.transition={};try{e(!1),n()}finally{Ae=i,Pa.transition=s}}function Od(){return $t().memoizedState}function Km(e,n,i){var s=On(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},bd(e))Fd(n,i);else if(i=md(e,n,i,s),i!==null){var u=ft();Ut(i,e,s,u),Hd(i,n,s)}}function qm(e,n,i){var s=On(e),u={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(bd(e))Fd(n,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var w=n.lastRenderedState,I=f(w,i);if(u.hasEagerState=!0,u.eagerState=I,bt(I,w)){var R=n.interleaved;R===null?(u.next=u,ka(n)):(u.next=R.next,R.next=u),n.interleaved=u;return}}catch{}finally{}i=md(e,n,u,s),i!==null&&(u=ft(),Ut(i,e,s,u),Hd(i,n,s))}}function bd(e){var n=e.alternate;return e===Be||n!==null&&n===Be}function Fd(e,n){bi=fs=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Hd(e,n,i){if((i&4194240)!==0){var s=n.lanes;s&=e.pendingLanes,i|=s,n.lanes=i,jr(e,i)}}var gs={readContext:At,useCallback:at,useContext:at,useEffect:at,useImperativeHandle:at,useInsertionEffect:at,useLayoutEffect:at,useMemo:at,useReducer:at,useRef:at,useState:at,useDebugValue:at,useDeferredValue:at,useTransition:at,useMutableSource:at,useSyncExternalStore:at,useId:at,unstable_isNewReconciler:!1},Zm={readContext:At,useCallback:function(e,n){return tn().memoizedState=[e,n===void 0?null:n],e},useContext:At,useEffect:Id,useImperativeHandle:function(e,n,i){return i=i!=null?i.concat([e]):null,hs(4194308,4,Rd.bind(null,n,e),i)},useLayoutEffect:function(e,n){return hs(4194308,4,e,n)},useInsertionEffect:function(e,n){return hs(4,2,e,n)},useMemo:function(e,n){var i=tn();return n=n===void 0?null:n,e=e(),i.memoizedState=[e,n],e},useReducer:function(e,n,i){var s=tn();return n=i!==void 0?i(n):n,s.memoizedState=s.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},s.queue=e,e=e.dispatch=Km.bind(null,Be,e),[s.memoizedState,e]},useRef:function(e){var n=tn();return e={current:e},n.memoizedState=e},useState:Md,useDebugValue:$a,useDeferredValue:function(e){return tn().memoizedState=e},useTransition:function(){var e=Md(!1),n=e[0];return e=Gm.bind(null,e[1]),tn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,i){var s=Be,u=tn();if(Fe){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),tt===null)throw Error(o(349));(sr&30)!==0||kd(s,n,i)}u.memoizedState=i;var f={value:i,getSnapshot:n};return u.queue=f,Id(Nd.bind(null,s,f,e),[e]),s.flags|=2048,Vi(9,Ed.bind(null,s,f,i,n),void 0,null),i},useId:function(){var e=tn(),n=tt.identifierPrefix;if(Fe){var i=fn,s=dn;i=(s&~(1<<32-Et(s)-1)).toString(32)+i,n=":"+n+"R"+i,i=Fi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=w.createElement(i,{is:s.is}):(e=w.createElement(i),i==="select"&&(w=e,s.multiple?w.multiple=!0:s.size&&(w.size=s.size))):e=w.createElementNS(e,i),e[Jt]=n,e[Ri]=s,af(e,n,!1,!1),n.stateNode=e;e:{switch(w=li(i,s),i){case"dialog":De("cancel",e),De("close",e),u=s;break;case"iframe":case"object":case"embed":De("load",e),u=s;break;case"video":case"audio":for(u=0;uQr&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304)}else{if(!s)if(e=cs(w),e!==null){if(n.flags|=128,s=!0,i=e.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),Bi(f,!0),f.tail===null&&f.tailMode==="hidden"&&!w.alternate&&!Fe)return ut(n),null}else 2*He()-f.renderingStartTime>Qr&&i!==1073741824&&(n.flags|=128,s=!0,Bi(f,!1),n.lanes=4194304);f.isBackwards?(w.sibling=n.child,n.child=w):(i=f.last,i!==null?i.sibling=w:n.child=w,f.last=w)}return f.tail!==null?(n=f.tail,f.rendering=n,f.tail=n.sibling,f.renderingStartTime=He(),n.sibling=null,i=Ve.current,$e(Ve,s?i&1|2:i&1),n):(ut(n),null);case 22:case 23:return su(),s=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(n.flags|=8192),s&&(n.mode&1)!==0?(Mt&1073741824)!==0&&(ut(n),n.subtreeFlags&6&&(n.flags|=8192)):ut(n),null;case 24:return null;case 25:return null}throw Error(o(156,n.tag))}function s0(e,n){switch(ga(n),n.tag){case 1:return pt(n.type)&&Jo(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Ur(),Oe(ht),Oe(lt),Ma(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return Ca(n),null;case 13:if(Oe(Ve),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Fr()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Oe(Ve),null;case 4:return Ur(),null;case 10:return Sa(n.type._context),null;case 22:case 23:return su(),null;case 24:return null;default:return null}}var xs=!1,ct=!1,l0=typeof WeakSet=="function"?WeakSet:Set,he=null;function Yr(e,n){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){We(e,n,s)}else i.current=null}function Qa(e,n,i){try{i()}catch(s){We(e,n,s)}}var df=!1;function a0(e,n){if(sa=bo,e=Vc(),Zl(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var u=s.anchorOffset,f=s.focusNode;s=s.focusOffset;try{i.nodeType,f.nodeType}catch{i=null;break e}var w=0,I=-1,R=-1,K=0,oe=0,le=e,ie=null;t:for(;;){for(var fe;le!==i||u!==0&&le.nodeType!==3||(I=w+u),le!==f||s!==0&&le.nodeType!==3||(R=w+s),le.nodeType===3&&(w+=le.nodeValue.length),(fe=le.firstChild)!==null;)ie=le,le=fe;for(;;){if(le===e)break t;if(ie===i&&++K===u&&(I=w),ie===f&&++oe===s&&(R=w),(fe=le.nextSibling)!==null)break;le=ie,ie=le.parentNode}le=fe}i=I===-1||R===-1?null:{start:I,end:R}}else i=null}i=i||{start:0,end:0}}else i=null;for(la={focusedElem:e,selectionRange:i},bo=!1,he=n;he!==null;)if(n=he,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,he=e;else for(;he!==null;){n=he;try{var ge=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ge!==null){var ye=ge.memoizedProps,Ye=ge.memoizedState,U=n.stateNode,D=U.getSnapshotBeforeUpdate(n.elementType===n.type?ye:Ht(n.type,ye),Ye);U.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var W=n.stateNode.containerInfo;W.nodeType===1?W.textContent="":W.nodeType===9&&W.documentElement&&W.removeChild(W.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ae){We(n,n.return,ae)}if(e=n.sibling,e!==null){e.return=n.return,he=e;break}he=n.return}return ge=df,df=!1,ge}function Ui(e,n,i){var s=n.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var u=s=s.next;do{if((u.tag&e)===e){var f=u.destroy;u.destroy=void 0,f!==void 0&&Qa(n,i,f)}u=u.next}while(u!==s)}}function ws(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==n)}}function Ga(e){var n=e.ref;if(n!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof n=="function"?n(e):n.current=e}}function ff(e){var n=e.alternate;n!==null&&(e.alternate=null,ff(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Jt],delete n[Ri],delete n[da],delete n[Um],delete n[Wm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function hf(e){return e.tag===5||e.tag===3||e.tag===4}function pf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ka(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.nodeType===8?i.parentNode.insertBefore(e,n):i.insertBefore(e,n):(i.nodeType===8?(n=i.parentNode,n.insertBefore(e,i)):(n=i,n.appendChild(e)),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=qo));else if(s!==4&&(e=e.child,e!==null))for(Ka(e,n,i),e=e.sibling;e!==null;)Ka(e,n,i),e=e.sibling}function qa(e,n,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(qa(e,n,i),e=e.sibling;e!==null;)qa(e,n,i),e=e.sibling}var it=null,Vt=!1;function An(e,n,i){for(i=i.child;i!==null;)gf(e,n,i),i=i.sibling}function gf(e,n,i){if(kt&&typeof kt.onCommitFiberUnmount=="function")try{kt.onCommitFiberUnmount(Er,i)}catch{}switch(i.tag){case 5:ct||Yr(i,n);case 6:var s=it,u=Vt;it=null,An(e,n,i),it=s,Vt=u,it!==null&&(Vt?(e=it,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):it.removeChild(i.stateNode));break;case 18:it!==null&&(Vt?(e=it,i=i.stateNode,e.nodeType===8?ca(e.parentNode,i):e.nodeType===1&&ca(e,i),_i(e)):ca(it,i.stateNode));break;case 4:s=it,u=Vt,it=i.stateNode.containerInfo,Vt=!0,An(e,n,i),it=s,Vt=u;break;case 0:case 11:case 14:case 15:if(!ct&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){u=s=s.next;do{var f=u,w=f.destroy;f=f.tag,w!==void 0&&((f&2)!==0||(f&4)!==0)&&Qa(i,n,w),u=u.next}while(u!==s)}An(e,n,i);break;case 1:if(!ct&&(Yr(i,n),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(I){We(i,n,I)}An(e,n,i);break;case 21:An(e,n,i);break;case 22:i.mode&1?(ct=(s=ct)||i.memoizedState!==null,An(e,n,i),ct=s):An(e,n,i);break;default:An(e,n,i)}}function mf(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new l0),n.forEach(function(s){var u=y0.bind(null,e,s);i.has(s)||(i.add(s),s.then(u,u))})}}function Bt(e,n){var i=n.deletions;if(i!==null)for(var s=0;su&&(u=w),s&=~f}if(s=u,s=He()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*c0(s/1960))-s,10e?16:e,Dn===null)var s=!1;else{if(e=Dn,Dn=null,Ns=0,(Te&6)!==0)throw Error(o(331));var u=Te;for(Te|=4,he=e.current;he!==null;){var f=he,w=f.child;if((he.flags&16)!==0){var I=f.deletions;if(I!==null){for(var R=0;RHe()-eu?ur(e,0):Ja|=i),yt(e,n)}function Pf(e,n){n===0&&((e.mode&1)===0?n=1:(n=Cr,Cr<<=1,(Cr&130023424)===0&&(Cr=4194304)));var i=ft();e=hn(e,n),e!==null&&(Jn(e,n,i),yt(e,i))}function m0(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),Pf(e,i)}function y0(e,n){var i=0;switch(e.tag){case 13:var s=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(o(314))}s!==null&&s.delete(n),Pf(e,i)}var If;If=function(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps||ht.current)gt=!0;else{if((e.lanes&i)===0&&(n.flags&128)===0)return gt=!1,i0(e,n,i);gt=(e.flags&131072)!==0}else gt=!1,Fe&&(n.flags&1048576)!==0&&ad(n,rs,n.index);switch(n.lanes=0,n.tag){case 2:var s=n.type;vs(e,n),e=n.pendingProps;var u=Dr(n,lt.current);Br(n,i),u=Ta(null,n,s,e,u,i);var f=za();return n.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pt(s)?(f=!0,es(n)):f=!1,n.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ea(n),u.updater=ms,n.stateNode=u,u._reactInternals=n,Oa(n,s,e,i),n=Va(null,n,s,!0,f,i)):(n.tag=0,Fe&&f&&pa(n),dt(null,n,u,i),n=n.child),n;case 16:s=n.elementType;e:{switch(vs(e,n),e=n.pendingProps,u=s._init,s=u(s._payload),n.type=s,u=n.tag=x0(s),e=Ht(s,e),u){case 0:n=Ha(null,n,s,e,i);break e;case 1:n=tf(null,n,s,e,i);break e;case 11:n=Kd(null,n,s,e,i);break e;case 14:n=qd(null,n,s,Ht(s.type,e),i);break e}throw Error(o(306,s,""))}return n;case 0:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),Ha(e,n,s,u,i);case 1:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),tf(e,n,s,u,i);case 3:e:{if(nf(n),e===null)throw Error(o(387));s=n.pendingProps,f=n.memoizedState,u=f.element,yd(e,n),us(n,s,null,i);var w=n.memoizedState;if(s=w.element,f.isDehydrated)if(f={element:s,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){u=Wr(Error(o(423)),n),n=rf(e,n,s,i,u);break e}else if(s!==u){u=Wr(Error(o(424)),n),n=rf(e,n,s,i,u);break e}else for(jt=Pn(n.stateNode.containerInfo.firstChild),Ct=n,Fe=!0,Ft=null,i=gd(n,null,s,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Fr(),s===u){n=gn(e,n,i);break e}dt(e,n,s,i)}n=n.child}return n;case 5:return wd(n),e===null&&ya(n),s=n.type,u=n.pendingProps,f=e!==null?e.memoizedProps:null,w=u.children,aa(s,u)?w=null:f!==null&&aa(s,f)&&(n.flags|=32),ef(e,n),dt(e,n,w,i),n.child;case 6:return e===null&&ya(n),null;case 13:return of(e,n,i);case 4:return Na(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=Hr(n,null,s,i):dt(e,n,s,i),n.child;case 11:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),Kd(e,n,s,u,i);case 7:return dt(e,n,n.pendingProps,i),n.child;case 8:return dt(e,n,n.pendingProps.children,i),n.child;case 12:return dt(e,n,n.pendingProps.children,i),n.child;case 10:e:{if(s=n.type._context,u=n.pendingProps,f=n.memoizedProps,w=u.value,$e(ss,s._currentValue),s._currentValue=w,f!==null)if(bt(f.value,w)){if(f.children===u.children&&!ht.current){n=gn(e,n,i);break e}}else for(f=n.child,f!==null&&(f.return=n);f!==null;){var I=f.dependencies;if(I!==null){w=f.child;for(var R=I.firstContext;R!==null;){if(R.context===s){if(f.tag===1){R=pn(-1,i&-i),R.tag=2;var K=f.updateQueue;if(K!==null){K=K.shared;var oe=K.pending;oe===null?R.next=R:(R.next=oe.next,oe.next=R),K.pending=R}}f.lanes|=i,R=f.alternate,R!==null&&(R.lanes|=i),_a(f.return,i,n),I.lanes|=i;break}R=R.next}}else if(f.tag===10)w=f.type===n.type?null:f.child;else if(f.tag===18){if(w=f.return,w===null)throw Error(o(341));w.lanes|=i,I=w.alternate,I!==null&&(I.lanes|=i),_a(w,i,n),w=f.sibling}else w=f.child;if(w!==null)w.return=f;else for(w=f;w!==null;){if(w===n){w=null;break}if(f=w.sibling,f!==null){f.return=w.return,w=f;break}w=w.return}f=w}dt(e,n,u.children,i),n=n.child}return n;case 9:return u=n.type,s=n.pendingProps.children,Br(n,i),u=At(u),s=s(u),n.flags|=1,dt(e,n,s,i),n.child;case 14:return s=n.type,u=Ht(s,n.pendingProps),u=Ht(s.type,u),qd(e,n,s,u,i);case 15:return Zd(e,n,n.type,n.pendingProps,i);case 17:return s=n.type,u=n.pendingProps,u=n.elementType===s?u:Ht(s,u),vs(e,n),n.tag=1,pt(s)?(e=!0,es(n)):e=!1,Br(n,i),Bd(n,s,u),Oa(n,s,u,i),Va(null,n,s,!0,e,i);case 19:return lf(e,n,i);case 22:return Jd(e,n,i)}throw Error(o(156,n.tag))};function Tf(e,n){return Io(e,n)}function v0(e,n,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ot(e,n,i,s){return new v0(e,n,i,s)}function au(e){return e=e.prototype,!(!e||!e.isReactComponent)}function x0(e){if(typeof e=="function")return au(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ee)return 11;if(e===B)return 14}return 2}function Fn(e,n){var i=e.alternate;return i===null?(i=Ot(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ps(e,n,i,s,u,f){var w=2;if(s=e,typeof e=="function")au(e)&&(w=1);else if(typeof e=="string")w=5;else e:switch(e){case H:return dr(i.children,u,f,n);case X:w=8,u|=8;break;case Q:return e=Ot(12,i,n,u|2),e.elementType=Q,e.lanes=f,e;case J:return e=Ot(13,i,n,u),e.elementType=J,e.lanes=f,e;case C:return e=Ot(19,i,n,u),e.elementType=C,e.lanes=f,e;case V:return Is(i,u,f,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case te:w=10;break e;case Z:w=9;break e;case ee:w=11;break e;case B:w=14;break e;case F:w=16,s=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return n=Ot(w,i,n,u),n.elementType=e,n.type=s,n.lanes=f,n}function dr(e,n,i,s){return e=Ot(7,e,s,n),e.lanes=i,e}function Is(e,n,i,s){return e=Ot(22,e,s,n),e.elementType=V,e.lanes=i,e.stateNode={isHidden:!1},e}function uu(e,n,i){return e=Ot(6,e,null,n),e.lanes=i,e}function cu(e,n,i){return n=Ot(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function w0(e,n,i,s,u){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Zn(0),this.expirationTimes=Zn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Zn(0),this.identifierPrefix=s,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function du(e,n,i,s,u,f,w,I,R){return e=new w0(e,n,i,I,R),n===1?(n=1,f===!0&&(n|=8)):n=0,f=Ot(3,null,null,n),e.current=f,f.stateNode=e,f.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ea(f),e}function S0(e,n,i){var s=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),yu.exports=R0(),yu.exports}var Wf;function L0(){if(Wf)return Ds;Wf=1;var t=rp();return Ds.createRoot=t.createRoot,Ds.hydrateRoot=t.hydrateRoot,Ds}var A0=L0();async function Pt(t,r){const o=await fetch(t,{...r,headers:{"Content-Type":"application/json",...(r==null?void 0:r.headers)||{}}});if(!o.ok){const l=await o.text();throw new Error(l||o.statusText)}return o.json()}const xt={health:()=>Pt("/api/health"),settings:()=>Pt("/api/settings"),saveSettings:t=>Pt("/api/settings",{method:"PUT",body:JSON.stringify(t)}),repos:()=>Pt("/api/repos"),index:(t,r=!0)=>Pt("/api/index",{method:"POST",body:JSON.stringify({repo_path:t,incremental:r})}),indexStatus:t=>Pt(`/api/index?repo_path=${encodeURIComponent(t)}`),architecture:t=>Pt(`/api/architecture?repo_path=${encodeURIComponent(t)}`),review:(t,r,o,l=!0)=>Pt("/api/review",{method:"POST",body:JSON.stringify({repo_path:t,base:r,head:o||null,reindex:l,incremental:!0,three_dot:!0})}),init:(t,r=!1)=>Pt("/api/init",{method:"POST",body:JSON.stringify({repo_path:t,overwrite:r})}),postComment:(t,r,o,l)=>Pt("/api/prs/comment",{method:"POST",body:JSON.stringify({provider:t,repo:r,number:o,markdown:l})}),graph:(t,r="full")=>Pt(`/api/graph?repo_path=${encodeURIComponent(t)}&scope=${r}`),prs:(t,r,o="open")=>Pt("/api/prs",{method:"POST",body:JSON.stringify({provider:t,repo:r,state:o})}),residual:t=>Pt("/api/ai/residual",{method:"POST",body:JSON.stringify({review:t})})};function $0(t){return t.replaceAll("_"," ")}function Qu(t){return t.split(".").pop()||t}function D0(t){if(!t)return"";const r=new Date(t);return Number.isNaN(r.getTime())?t:r.toLocaleString()}function O0(t){return t.split(/[\\/]/).filter(Boolean).pop()||t}function ho({className:t,children:r}){return v.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r})}function b0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("path",{d:"M3 3.5h6.5L13 7v5.5H3z"}),v.jsx("path",{d:"M9.5 3.5V7H13"}),v.jsx("path",{d:"M5.5 9.5h5M5.5 11.5h3.5"})]})}function F0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("rect",{x:"2.5",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"9",y:"2.5",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"2.5",y:"9",width:"4.5",height:"4.5",rx:"0.8"}),v.jsx("rect",{x:"9",y:"9",width:"4.5",height:"4.5",rx:"0.8"})]})}function H0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"4",cy:"8",r:"1.6"}),v.jsx("circle",{cx:"12",cy:"4",r:"1.6"}),v.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),v.jsx("path",{d:"M5.5 7.2 10.4 4.8M5.5 8.8 10.4 11.2"})]})}function V0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"4.5",cy:"4",r:"1.4"}),v.jsx("circle",{cx:"4.5",cy:"12",r:"1.4"}),v.jsx("circle",{cx:"11.5",cy:"12",r:"1.4"}),v.jsx("path",{d:"M4.5 5.5v5M4.5 8h4.2a3 3 0 0 1 3 3"})]})}function B0({className:t}){return v.jsxs(ho,{className:t,children:[v.jsx("circle",{cx:"8",cy:"8",r:"2.1"}),v.jsx("path",{d:"M8 2.5v1.6M8 11.9v1.6M2.5 8h1.6M11.9 8h1.6M4.1 4.1l1.1 1.1M10.8 10.8l1.1 1.1M11.9 4.1l-1.1 1.1M5.2 10.8l-1.1 1.1"})]})}function Qe(t){if(typeof t=="string"||typeof t=="number")return""+t;let r="";if(Array.isArray(t))for(let o=0,l;o{}};function dl(){for(var t=0,r=arguments.length,o={},l;t=0&&(l=o.slice(a+1),o=o.slice(0,a)),o&&!r.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:l}})}Xs.prototype=dl.prototype={constructor:Xs,on:function(t,r){var o=this._,l=W0(t+"",o),a,c=-1,d=l.length;if(arguments.length<2){for(;++c0)for(var o=new Array(a),l=0,a,c;l=0&&(r=t.slice(0,o))!=="xmlns"&&(t=t.slice(o+1)),Xf.hasOwnProperty(r)?{space:Xf[r],local:t}:t}function X0(t){return function(){var r=this.ownerDocument,o=this.namespaceURI;return o===Lu&&r.documentElement.namespaceURI===Lu?r.createElement(t):r.createElementNS(o,t)}}function Q0(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ip(t){var r=fl(t);return(r.local?Q0:X0)(r)}function G0(){}function Gu(t){return t==null?G0:function(){return this.querySelector(t)}}function K0(t){typeof t!="function"&&(t=Gu(t));for(var r=this._groups,o=r.length,l=new Array(o),a=0;a=k&&(k=T+1);!(b=E[k])&&++k<_;);P._next=b||null}}return d=new Tt(d,l),d._enter=h,d._exit=p,d}function my(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function yy(){return new Tt(this._exit||this._groups.map(ap),this._parents)}function vy(t,r,o){var l=this.enter(),a=this,c=this.exit();return typeof t=="function"?(l=t(l),l&&(l=l.selection())):l=l.append(t+""),r!=null&&(a=r(a),a&&(a=a.selection())),o==null?c.remove():o(c),l&&a?l.merge(a).order():a}function xy(t){for(var r=t.selection?t.selection():t,o=this._groups,l=r._groups,a=o.length,c=l.length,d=Math.min(a,c),h=new Array(a),p=0;p=0;)(d=l[a])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function Sy(t){t||(t=_y);function r(x,m){return x&&m?t(x.__data__,m.__data__):!x-!m}for(var o=this._groups,l=o.length,a=new Array(l),c=0;cr?1:t>=r?0:NaN}function ky(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Ey(){return Array.from(this)}function Ny(){for(var t=this._groups,r=0,o=t.length;r1?this.each((r==null?$y:typeof r=="function"?Oy:Dy)(t,r,o??"")):ei(this.node(),t)}function ei(t,r){return t.style.getPropertyValue(r)||up(t).getComputedStyle(t,null).getPropertyValue(r)}function Fy(t){return function(){delete this[t]}}function Hy(t,r){return function(){this[t]=r}}function Vy(t,r){return function(){var o=r.apply(this,arguments);o==null?delete this[t]:this[t]=o}}function By(t,r){return arguments.length>1?this.each((r==null?Fy:typeof r=="function"?Vy:Hy)(t,r)):this.node()[t]}function cp(t){return t.trim().split(/^|\s+/)}function Ku(t){return t.classList||new dp(t)}function dp(t){this._node=t,this._names=cp(t.getAttribute("class")||"")}dp.prototype={add:function(t){var r=this._names.indexOf(t);r<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var r=this._names.indexOf(t);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function fp(t,r){for(var o=Ku(t),l=-1,a=r.length;++l=0&&(o=r.slice(l+1),r=r.slice(0,l)),{type:r,name:o}})}function yv(t){return function(){var r=this.__on;if(r){for(var o=0,l=-1,a=r.length,c;o()=>t;function Au(t,{sourceEvent:r,subject:o,target:l,identifier:a,active:c,x:d,y:h,dx:p,dy:y,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:y,enumerable:!0,configurable:!0},_:{value:g}})}Au.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function jv(t){return!t.ctrlKey&&!t.button}function Mv(){return this.parentNode}function Pv(t,r){return r??{x:t.x,y:t.y}}function Iv(){return navigator.maxTouchPoints||"ontouchstart"in this}function vp(){var t=jv,r=Mv,o=Pv,l=Iv,a={},c=dl("start","drag","end"),d=0,h,p,y,g,x=0;function m(P){P.on("mousedown.drag",S).filter(l).on("touchstart.drag",E).on("touchmove.drag",N,Cv).on("touchend.drag touchcancel.drag",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(P,b){if(!(g||!t.call(this,P,b))){var $=k(this,r.call(this,P,b),P,b,"mouse");$&&(It(P.view).on("mousemove.drag",_,no).on("mouseup.drag",M,no),mp(P.view),wu(P),y=!1,h=P.clientX,p=P.clientY,$("start",P))}}function _(P){if(Zr(P),!y){var b=P.clientX-h,$=P.clientY-p;y=b*b+$*$>x}a.mouse("drag",P)}function M(P){It(P.view).on("mousemove.drag mouseup.drag",null),yp(P.view,y),Zr(P),a.mouse("end",P)}function E(P,b){if(t.call(this,P,b)){var $=P.changedTouches,H=r.call(this,P,b),X=$.length,Q,te;for(Q=0;Q>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):o===8?bs(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):o===4?bs(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=zv.exec(t))?new wt(r[1],r[2],r[3],1):(r=Rv.exec(t))?new wt(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=Lv.exec(t))?bs(r[1],r[2],r[3],r[4]):(r=Av.exec(t))?bs(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=$v.exec(t))?eh(r[1],r[2]/100,r[3]/100,1):(r=Dv.exec(t))?eh(r[1],r[2]/100,r[3]/100,r[4]):Qf.hasOwnProperty(t)?qf(Qf[t]):t==="transparent"?new wt(NaN,NaN,NaN,0):null}function qf(t){return new wt(t>>16&255,t>>8&255,t&255,1)}function bs(t,r,o,l){return l<=0&&(t=r=o=NaN),new wt(t,r,o,l)}function Fv(t){return t instanceof go||(t=mr(t)),t?(t=t.rgb(),new wt(t.r,t.g,t.b,t.opacity)):new wt}function $u(t,r,o,l){return arguments.length===1?Fv(t):new wt(t,r,o,l??1)}function wt(t,r,o,l){this.r=+t,this.g=+r,this.b=+o,this.opacity=+l}qu(wt,$u,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new wt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new wt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new wt(pr(this.r),pr(this.g),pr(this.b),el(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:Zf,formatHex:Zf,formatHex8:Hv,formatRgb:Jf,toString:Jf}));function Zf(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}`}function Hv(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}${hr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jf(){const t=el(this.opacity);return`${t===1?"rgb(":"rgba("}${pr(this.r)}, ${pr(this.g)}, ${pr(this.b)}${t===1?")":`, ${t})`}`}function el(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function hr(t){return t=pr(t),(t<16?"0":"")+t.toString(16)}function eh(t,r,o,l){return l<=0?t=r=o=NaN:o<=0||o>=1?t=r=NaN:r<=0&&(t=NaN),new Yt(t,r,o,l)}function wp(t){if(t instanceof Yt)return new Yt(t.h,t.s,t.l,t.opacity);if(t instanceof go||(t=mr(t)),!t)return new Yt;if(t instanceof Yt)return t;t=t.rgb();var r=t.r/255,o=t.g/255,l=t.b/255,a=Math.min(r,o,l),c=Math.max(r,o,l),d=NaN,h=c-a,p=(c+a)/2;return h?(r===c?d=(o-l)/h+(o0&&p<1?0:d,new Yt(d,h,p,t.opacity)}function Vv(t,r,o,l){return arguments.length===1?wp(t):new Yt(t,r,o,l??1)}function Yt(t,r,o,l){this.h=+t,this.s=+r,this.l=+o,this.opacity=+l}qu(Yt,Vv,xp(go,{brighter(t){return t=t==null?Js:Math.pow(Js,t),new Yt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ro:Math.pow(ro,t),new Yt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,r=isNaN(t)||isNaN(this.s)?0:this.s,o=this.l,l=o+(o<.5?o:1-o)*r,a=2*o-l;return new wt(Su(t>=240?t-240:t+120,a,l),Su(t,a,l),Su(t<120?t+240:t-120,a,l),this.opacity)},clamp(){return new Yt(th(this.h),Fs(this.s),Fs(this.l),el(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=el(this.opacity);return`${t===1?"hsl(":"hsla("}${th(this.h)}, ${Fs(this.s)*100}%, ${Fs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function th(t){return t=(t||0)%360,t<0?t+360:t}function Fs(t){return Math.max(0,Math.min(1,t||0))}function Su(t,r,o){return(t<60?r+(o-r)*t/60:t<180?o:t<240?r+(o-r)*(240-t)/60:r)*255}const Zu=t=>()=>t;function Bv(t,r){return function(o){return t+o*r}}function Uv(t,r,o){return t=Math.pow(t,o),r=Math.pow(r,o)-t,o=1/o,function(l){return Math.pow(t+l*r,o)}}function Wv(t){return(t=+t)==1?Sp:function(r,o){return o-r?Uv(r,o,t):Zu(isNaN(r)?o:r)}}function Sp(t,r){var o=r-t;return o?Bv(t,o):Zu(isNaN(t)?r:t)}const tl=(function t(r){var o=Wv(r);function l(a,c){var d=o((a=$u(a)).r,(c=$u(c)).r),h=o(a.g,c.g),p=o(a.b,c.b),y=Sp(a.opacity,c.opacity);return function(g){return a.r=d(g),a.g=h(g),a.b=p(g),a.opacity=y(g),a+""}}return l.gamma=t,l})(1);function Yv(t,r){r||(r=[]);var o=t?Math.min(r.length,t.length):0,l=r.slice(),a;return function(c){for(a=0;ao&&(c=r.slice(o,c),h[d]?h[d]+=c:h[++d]=c),(l=l[0])===(a=a[0])?h[d]?h[d]+=a:h[++d]=a:(h[++d]=null,p.push({i:d,x:rn(l,a)})),o=_u.lastIndex;return o180?g+=360:g-y>180&&(y+=360),m.push({i:x.push(a(x)+"rotate(",null,l)-2,x:rn(y,g)})):g&&x.push(a(x)+"rotate("+g+l)}function h(y,g,x,m){y!==g?m.push({i:x.push(a(x)+"skewX(",null,l)-2,x:rn(y,g)}):g&&x.push(a(x)+"skewX("+g+l)}function p(y,g,x,m,S,_){if(y!==x||g!==m){var M=S.push(a(S)+"scale(",null,",",null,")");_.push({i:M-4,x:rn(y,x)},{i:M-2,x:rn(g,m)})}else(x!==1||m!==1)&&S.push(a(S)+"scale("+x+","+m+")")}return function(y,g){var x=[],m=[];return y=t(y),g=t(g),c(y.translateX,y.translateY,g.translateX,g.translateY,x,m),d(y.rotate,g.rotate,x,m),h(y.skewX,g.skewX,x,m),p(y.scaleX,y.scaleY,g.scaleX,g.scaleY,x,m),y=g=null,function(S){for(var _=-1,M=m.length,E;++_=0&&t._call.call(void 0,r),t=t._next;--ti}function ih(){yr=(rl=oo.now())+hl,ti=Zi=0;try{lx()}finally{ti=0,ux(),yr=0}}function ax(){var t=oo.now(),r=t-rl;r>Np&&(hl-=r,rl=t)}function ux(){for(var t,r=nl,o,l=1/0;r;)r._call?(l>r._time&&(l=r._time),t=r,r=r._next):(o=r._next,r._next=null,r=t?t._next=o:nl=o);Ji=t,bu(l)}function bu(t){if(!ti){Zi&&(Zi=clearTimeout(Zi));var r=t-yr;r>24?(t<1/0&&(Zi=setTimeout(ih,t-oo.now()-hl)),Ki&&(Ki=clearInterval(Ki))):(Ki||(rl=oo.now(),Ki=setInterval(ax,Np)),ti=1,Cp(ih))}}function oh(t,r,o){var l=new il;return r=r==null?0:+r,l.restart(a=>{l.stop(),t(a+r)},r,o),l}var cx=dl("start","end","cancel","interrupt"),dx=[],Mp=0,sh=1,Fu=2,Gs=3,lh=4,Hu=5,Ks=6;function pl(t,r,o,l,a,c){var d=t.__transition;if(!d)t.__transition={};else if(o in d)return;fx(t,o,{name:r,index:l,group:a,on:cx,tween:dx,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Mp})}function ec(t,r){var o=Kt(t,r);if(o.state>Mp)throw new Error("too late; already scheduled");return o}function sn(t,r){var o=Kt(t,r);if(o.state>Gs)throw new Error("too late; already running");return o}function Kt(t,r){var o=t.__transition;if(!o||!(o=o[r]))throw new Error("transition not found");return o}function fx(t,r,o){var l=t.__transition,a;l[r]=o,o.timer=jp(c,0,o.time);function c(y){o.state=sh,o.timer.restart(d,o.delay,o.time),o.delay<=y&&d(y-o.delay)}function d(y){var g,x,m,S;if(o.state!==sh)return p();for(g in l)if(S=l[g],S.name===o.name){if(S.state===Gs)return oh(d);S.state===lh?(S.state=Ks,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete l[g]):+gFu&&l.state=0&&(r=r.slice(0,o)),!r||r==="start"})}function Vx(t,r,o){var l,a,c=Hx(r)?ec:sn;return function(){var d=c(this,t),h=d.on;h!==l&&(a=(l=h).copy()).on(r,o),d.on=a}}function Bx(t,r){var o=this._id;return arguments.length<2?Kt(this.node(),o).on.on(t):this.each(Vx(o,t,r))}function Ux(t){return function(){var r=this.parentNode;for(var o in this.__transition)if(+o!==t)return;r&&r.removeChild(this)}}function Wx(){return this.on("end.remove",Ux(this._id))}function Yx(t){var r=this._name,o=this._id;typeof t!="function"&&(t=Gu(t));for(var l=this._groups,a=l.length,c=new Array(a),d=0;d()=>t;function yw(t,{sourceEvent:r,target:o,transform:l,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:a}})}function vn(t,r,o){this.k=t,this.x=r,this.y=o}vn.prototype={constructor:vn,scale:function(t){return t===1?this:new vn(this.k*t,this.x,this.y)},translate:function(t,r){return t===0&r===0?this:new vn(this.k,this.x+this.k*t,this.y+this.k*r)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var gl=new vn(1,0,0);zp.prototype=vn.prototype;function zp(t){for(;!t.__zoom;)if(!(t=t.parentNode))return gl;return t.__zoom}function ku(t){t.stopImmediatePropagation()}function qi(t){t.preventDefault(),t.stopImmediatePropagation()}function vw(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function xw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function ah(){return this.__zoom||gl}function ww(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Sw(){return navigator.maxTouchPoints||"ontouchstart"in this}function _w(t,r,o){var l=t.invertX(r[0][0])-o[0][0],a=t.invertX(r[1][0])-o[1][0],c=t.invertY(r[0][1])-o[0][1],d=t.invertY(r[1][1])-o[1][1];return t.translate(a>l?(l+a)/2:Math.min(0,l)||Math.max(0,a),d>c?(c+d)/2:Math.min(0,c)||Math.max(0,d))}function Rp(){var t=vw,r=xw,o=_w,l=ww,a=Sw,c=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],h=250,p=Qs,y=dl("start","zoom","end"),g,x,m,S=500,_=150,M=0,E=10;function N(C){C.property("__zoom",ah).on("wheel.zoom",X,{passive:!1}).on("mousedown.zoom",Q).on("dblclick.zoom",te).filter(a).on("touchstart.zoom",Z).on("touchmove.zoom",ee).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}N.transform=function(C,B,F,V){var A=C.selection?C.selection():C;A.property("__zoom",ah),C!==A?b(C,B,F,V):A.interrupt().each(function(){$(this,arguments).event(V).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},N.scaleBy=function(C,B,F,V){N.scaleTo(C,function(){var A=this.__zoom.k,L=typeof B=="function"?B.apply(this,arguments):B;return A*L},F,V)},N.scaleTo=function(C,B,F,V){N.transform(C,function(){var A=r.apply(this,arguments),L=this.__zoom,O=F==null?P(A):typeof F=="function"?F.apply(this,arguments):F,j=L.invert(O),z=typeof B=="function"?B.apply(this,arguments):B;return o(k(T(L,z),O,j),A,d)},F,V)},N.translateBy=function(C,B,F,V){N.transform(C,function(){return o(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof F=="function"?F.apply(this,arguments):F),r.apply(this,arguments),d)},null,V)},N.translateTo=function(C,B,F,V,A){N.transform(C,function(){var L=r.apply(this,arguments),O=this.__zoom,j=V==null?P(L):typeof V=="function"?V.apply(this,arguments):V;return o(gl.translate(j[0],j[1]).scale(O.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof F=="function"?-F.apply(this,arguments):-F),L,d)},V,A)};function T(C,B){return B=Math.max(c[0],Math.min(c[1],B)),B===C.k?C:new vn(B,C.x,C.y)}function k(C,B,F){var V=B[0]-F[0]*C.k,A=B[1]-F[1]*C.k;return V===C.x&&A===C.y?C:new vn(C.k,V,A)}function P(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function b(C,B,F,V){C.on("start.zoom",function(){$(this,arguments).event(V).start()}).on("interrupt.zoom end.zoom",function(){$(this,arguments).event(V).end()}).tween("zoom",function(){var A=this,L=arguments,O=$(A,L).event(V),j=r.apply(A,L),z=F==null?P(j):typeof F=="function"?F.apply(A,L):F,ne=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),re=A.__zoom,ue=typeof B=="function"?B.apply(A,L):B,ce=p(re.invert(z).concat(ne/re.k),ue.invert(z).concat(ne/ue.k));return function(de){if(de===1)de=ue;else{var G=ce(de),se=ne/G[2];de=new vn(se,z[0]-G[0]*se,z[1]-G[1]*se)}O.zoom(null,de)}})}function $(C,B,F){return!F&&C.__zooming||new H(C,B)}function H(C,B){this.that=C,this.args=B,this.active=0,this.sourceEvent=null,this.extent=r.apply(C,B),this.taps=0}H.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,B){return this.mouse&&C!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var B=It(this.that).datum();y.call(C,this.that,new yw(C,{sourceEvent:this.sourceEvent,target:N,transform:this.that.__zoom,dispatch:y}),B)}};function X(C,...B){if(!t.apply(this,arguments))return;var F=$(this,B).event(C),V=this.__zoom,A=Math.max(c[0],Math.min(c[1],V.k*Math.pow(2,l.apply(this,arguments)))),L=Wt(C);if(F.wheel)(F.mouse[0][0]!==L[0]||F.mouse[0][1]!==L[1])&&(F.mouse[1]=V.invert(F.mouse[0]=L)),clearTimeout(F.wheel);else{if(V.k===A)return;F.mouse=[L,V.invert(L)],qs(this),F.start()}qi(C),F.wheel=setTimeout(O,_),F.zoom("mouse",o(k(T(V,A),F.mouse[0],F.mouse[1]),F.extent,d));function O(){F.wheel=null,F.end()}}function Q(C,...B){if(m||!t.apply(this,arguments))return;var F=C.currentTarget,V=$(this,B,!0).event(C),A=It(C.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",ne,!0),L=Wt(C,F),O=C.clientX,j=C.clientY;mp(C.view),ku(C),V.mouse=[L,this.__zoom.invert(L)],qs(this),V.start();function z(re){if(qi(re),!V.moved){var ue=re.clientX-O,ce=re.clientY-j;V.moved=ue*ue+ce*ce>M}V.event(re).zoom("mouse",o(k(V.that.__zoom,V.mouse[0]=Wt(re,F),V.mouse[1]),V.extent,d))}function ne(re){A.on("mousemove.zoom mouseup.zoom",null),yp(re.view,V.moved),qi(re),V.event(re).end()}}function te(C,...B){if(t.apply(this,arguments)){var F=this.__zoom,V=Wt(C.changedTouches?C.changedTouches[0]:C,this),A=F.invert(V),L=F.k*(C.shiftKey?.5:2),O=o(k(T(F,L),V,A),r.apply(this,B),d);qi(C),h>0?It(this).transition().duration(h).call(b,O,V,C):It(this).call(N.transform,O,V,C)}}function Z(C,...B){if(t.apply(this,arguments)){var F=C.touches,V=F.length,A=$(this,B,C.changedTouches.length===V).event(C),L,O,j,z;for(ku(C),O=0;O`Seems like you have not used ${t==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:r,sourceHandle:o,targetHandle:l})=>`Couldn't create edge for ${t} handle id: "${t==="source"?o:l}", edge id: ${r}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},so=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Lp=["Enter"," ","Escape"],Ap={"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:t,x:r,y:o})=>`Moved selected node ${t}. New position, x: ${r}, y: ${o}`,"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"};var ni;(function(t){t.Strict="strict",t.Loose="loose"})(ni||(ni={}));var gr;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(gr||(gr={}));var lo;(function(t){t.Partial="partial",t.Full="full"})(lo||(lo={}));const $p={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Wn;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Wn||(Wn={}));var ol;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(ol||(ol={}));var _e;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(_e||(_e={}));const uh={[_e.Left]:_e.Right,[_e.Right]:_e.Left,[_e.Top]:_e.Bottom,[_e.Bottom]:_e.Top};function Dp(t){return t===null?null:t?"valid":"invalid"}const Op=t=>!!t&&typeof t=="object"&&"id"in t&&"source"in t&&"target"in t,kw=t=>!!t&&typeof t=="object"&&"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),nc=t=>!!t&&typeof t=="object"&&"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),mo=(t,r=[0,0])=>{const{width:o,height:l}=qt(t),a=t.origin??r,c=o*a[0],d=l*a[1];return{x:t.position.x-c,y:t.position.y-d}},Ew=(t,r={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let o=!1;const l=t.reduce((a,c)=>{const d=typeof c=="string";let h=!r.nodeLookup&&!d?c:void 0;return r.nodeLookup&&(h=d?r.nodeLookup.get(c):nc(c)?c:r.nodeLookup.get(c.id)),h?(o=!0,ml(a,sl(h,r.nodeOrigin))):a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return o?yl(l):{x:0,y:0,width:0,height:0}},yo=(t,r={})=>{let o={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return t.forEach(a=>{(r.filter===void 0||r.filter(a))&&(o=ml(o,sl(a)),l=!0)}),l?yl(o):{x:0,y:0,width:0,height:0}},rc=(t,r,[o,l,a]=[0,0,1],c=!1,d=!1)=>{const h=(r.x-o)/a,p=(r.y-l)/a,y=r.width/a,g=r.height/a,x=[];for(const m of t.values()){const{measured:S,selectable:_=!0,hidden:M=!1}=m;if(d&&!_||M)continue;const E=S.width??m.width??m.initialWidth??0,N=S.height??m.height??m.initialHeight??0,{x:T,y:k}=m.internals.positionAbsolute,P=Vp(h,p,y,g,T,k,E,N),b=E*N,$=c&&P>0;(!m.internals.handleBounds||$||P>=b||m.dragging)&&x.push(m)}return x},Nw=(t,r)=>{const o=new Set;return t.forEach(l=>{o.add(l.id)}),r.filter(l=>o.has(l.source)||o.has(l.target))};function Cw(t,r){const o=new Map,l=r!=null&&r.nodes?new Set(r.nodes.map(a=>a.id)):null;return t.forEach(a=>{let c;if(r!=null&&r.includeHiddenNodes){const{width:d,height:h}=qt(a);c=d>0&&h>0}else c=!!(a.measured.width&&a.measured.height&&!a.hidden);c&&(!l||l.has(a.id))&&o.set(a.id,a)}),o}async function jw({nodes:t,width:r,height:o,panZoom:l,minZoom:a,maxZoom:c},d){if(t.size===0)return!0;const h=Cw(t,d),p=yo(h),y=oc(p,r,o,(d==null?void 0:d.minZoom)??a,(d==null?void 0:d.maxZoom)??c,(d==null?void 0:d.padding)??.1);return await l.setViewport(y,{duration:d==null?void 0:d.duration,ease:d==null?void 0:d.ease,interpolate:d==null?void 0:d.interpolate}),!0}function bp({nodeId:t,nextPosition:r,nodeLookup:o,nodeOrigin:l=[0,0],nodeExtent:a,onError:c}){const d=o.get(t),h=d.parentId?o.get(d.parentId):void 0,{x:p,y}=h?h.internals.positionAbsolute:{x:0,y:0},g=d.origin??l;let x=d.extent||a;if(d.extent==="parent"&&!d.expandParent)if(!h)c==null||c("005",Gt.error005());else{const{width:S,height:_}=qt(h);S&&_&&(x=[[p,y],[p+S,y+_]])}else h&&xr(d.extent)&&(x=[[d.extent[0][0]+p,d.extent[0][1]+y],[d.extent[1][0]+p,d.extent[1][1]+y]]);const m=xr(x)?vr(r,x,d.measured):r;return(d.measured.width===void 0||d.measured.height===void 0)&&(c==null||c("015",Gt.error015())),{position:{x:m.x-p+(d.measured.width??0)*g[0],y:m.y-y+(d.measured.height??0)*g[1]},positionAbsolute:m}}async function Mw({nodesToRemove:t=[],edgesToRemove:r=[],nodes:o,edges:l,onBeforeDelete:a}){const c=new Set(t.map(m=>m.id)),d=[];for(const m of o){if(m.deletable===!1)continue;const S=c.has(m.id),_=!S&&m.parentId&&d.find(M=>M.id===m.parentId);(S||_)&&d.push(m)}const h=new Set(r.map(m=>m.id)),p=l.filter(m=>m.deletable!==!1),g=Nw(d,p);for(const m of p)h.has(m.id)&&!g.find(_=>_.id===m.id)&&g.push(m);if(!a)return{edges:g,nodes:d};const x=await a({nodes:d,edges:g});return typeof x=="boolean"?x?{edges:g,nodes:d}:{edges:[],nodes:[]}:x}const ri=(t,r=0,o=1)=>Math.min(Math.max(t,r),o),vr=(t={x:0,y:0},r,o)=>({x:ri(t.x,r[0][0],r[1][0]-((o==null?void 0:o.width)??0)),y:ri(t.y,r[0][1],r[1][1]-((o==null?void 0:o.height)??0))});function Fp(t,r,o){const{width:l,height:a}=qt(o),{x:c,y:d}=o.internals.positionAbsolute;return vr(t,[[c,d],[c+l,d+a]],r)}const ch=(t,r,o)=>to?-ri(Math.abs(t-o),1,r)/r:0,ic=(t,r,o=15,l=40)=>{const a=ch(t.x,l,r.width-l)*o,c=ch(t.y,l,r.height-l)*o;return[a,c]},ml=(t,r)=>({x:Math.min(t.x,r.x),y:Math.min(t.y,r.y),x2:Math.max(t.x2,r.x2),y2:Math.max(t.y2,r.y2)}),Vu=({x:t,y:r,width:o,height:l})=>({x:t,y:r,x2:t+o,y2:r+l}),yl=({x:t,y:r,x2:o,y2:l})=>({x:t,y:r,width:o-t,height:l-r}),ao=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,width:((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0,height:((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0}},sl=(t,r=[0,0])=>{var a,c;const{x:o,y:l}=nc(t)?t.internals.positionAbsolute:mo(t,r);return{x:o,y:l,x2:o+(((a=t.measured)==null?void 0:a.width)??t.width??t.initialWidth??0),y2:l+(((c=t.measured)==null?void 0:c.height)??t.height??t.initialHeight??0)}},Hp=(t,r)=>yl(ml(Vu(t),Vu(r))),Vp=(t,r,o,l,a,c,d,h)=>{const p=Math.max(0,Math.min(t+o,a+d)-Math.max(t,a)),y=Math.max(0,Math.min(r+l,c+h)-Math.max(r,c));return Math.ceil(p*y)},ll=(t,r)=>Vp(t.x,t.y,t.width,t.height,r.x,r.y,r.width,r.height),dh=t=>Xt(t.width)&&Xt(t.height)&&Xt(t.x)&&Xt(t.y),Xt=t=>!isNaN(t)&&isFinite(t),Bp=(t,r)=>(o,l)=>{},vo=(t,r=[1,1])=>({x:r[0]*Math.round(t.x/r[0]),y:r[1]*Math.round(t.y/r[1])}),xo=({x:t,y:r},[o,l,a],c=!1,d=[1,1])=>{const h={x:(t-o)/a,y:(r-l)/a};return c?vo(h,d):h},ii=({x:t,y:r},[o,l,a])=>({x:t*a+o,y:r*a+l});function Kr(t,r){if(typeof t=="number")return Math.floor((r-r/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(o)}if(typeof t=="string"&&t.endsWith("%")){const o=parseFloat(t);if(!Number.isNaN(o))return Math.floor(r*o*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Pw(t,r,o){if(typeof t=="string"||typeof t=="number"){const l=Kr(t,o),a=Kr(t,r);return{top:l,right:a,bottom:l,left:a,x:a*2,y:l*2}}if(typeof t=="object"){const l=Kr(t.top??t.y??0,o),a=Kr(t.bottom??t.y??0,o),c=Kr(t.left??t.x??0,r),d=Kr(t.right??t.x??0,r);return{top:l,right:d,bottom:a,left:c,x:c+d,y:l+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Iw(t,r,o,l,a,c){const{x:d,y:h}=ii(t,[r,o,l]),{x:p,y}=ii({x:t.x+t.width,y:t.y+t.height},[r,o,l]),g=a-p,x=c-y;return{left:Math.floor(d),top:Math.floor(h),right:Math.floor(g),bottom:Math.floor(x)}}const oc=(t,r,o,l,a,c)=>{const d=Pw(c,r,o),h=(r-d.x)/t.width,p=(o-d.y)/t.height,y=Math.min(h,p),g=ri(y,l,a),x=t.x+t.width/2,m=t.y+t.height/2,S=r/2-x*g,_=o/2-m*g,M=Iw(t,S,_,g,r,o),E={left:Math.min(M.left-d.left,0),top:Math.min(M.top-d.top,0),right:Math.min(M.right-d.right,0),bottom:Math.min(M.bottom-d.bottom,0)};return{x:S-E.left+E.right,y:_-E.top+E.bottom,zoom:g}},uo=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0};function xr(t){return t!=null&&t!=="parent"}function qt(t){var r,o;return{width:((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth??0,height:((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight??0}}function Up(t){var r,o;return(((r=t.measured)==null?void 0:r.width)??t.width??t.initialWidth)!==void 0&&(((o=t.measured)==null?void 0:o.height)??t.height??t.initialHeight)!==void 0}function Wp(t,r={width:0,height:0},o,l,a){const c={...t},d=l.get(o);if(d){const h=d.origin||a;c.x+=d.internals.positionAbsolute.x-(r.width??0)*h[0],c.y+=d.internals.positionAbsolute.y-(r.height??0)*h[1]}return c}function fh(t,r){if(t.size!==r.size)return!1;for(const o of t)if(!r.has(o))return!1;return!0}function Tw(){let t,r;return{promise:new Promise((l,a)=>{t=l,r=a}),resolve:t,reject:r}}function zw(t){return{...Ap,...t||{}}}function to(t,{snapGrid:r=[0,0],snapToGrid:o=!1,transform:l,containerBounds:a}){const{x:c,y:d}=Qt(t),h=xo({x:c-((a==null?void 0:a.left)??0),y:d-((a==null?void 0:a.top)??0)},l),{x:p,y}=o?vo(h,r):h;return{xSnapped:p,ySnapped:y,...h}}const sc=t=>({width:t.offsetWidth,height:t.offsetHeight}),Yp=t=>{var r;return((r=t==null?void 0:t.getRootNode)==null?void 0:r.call(t))||(window==null?void 0:window.document)},Rw=["INPUT","SELECT","TEXTAREA"];function Xp(t){var l,a;const r=((a=(l=t.composedPath)==null?void 0:l.call(t))==null?void 0:a[0])||t.target;return(r==null?void 0:r.nodeType)!==1?!1:Rw.includes(r.nodeName)||r.hasAttribute("contenteditable")||!!r.closest(".nokey")}const Qp=t=>"clientX"in t,Qt=(t,r)=>{var c,d;const o=Qp(t),l=o?t.clientX:(c=t.touches)==null?void 0:c[0].clientX,a=o?t.clientY:(d=t.touches)==null?void 0:d[0].clientY;return{x:l-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)}},hh=(t,r,o,l,a)=>{const c=r.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(d=>{const h=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:t,nodeId:a,position:d.getAttribute("data-handlepos"),x:(h.left-o.left)/l,y:(h.top-o.top)/l,...sc(d)}})};function Gp({sourceX:t,sourceY:r,targetX:o,targetY:l,sourceControlX:a,sourceControlY:c,targetControlX:d,targetControlY:h}){const p=t*.125+a*.375+d*.375+o*.125,y=r*.125+c*.375+h*.375+l*.125,g=Math.abs(p-t),x=Math.abs(y-r);return[p,y,g,x]}function Bs(t,r){return t>=0?.5*t:r*25*Math.sqrt(-t)}function ph({pos:t,x1:r,y1:o,x2:l,y2:a,c}){switch(t){case _e.Left:return[r-Bs(r-l,c),o];case _e.Right:return[r+Bs(l-r,c),o];case _e.Top:return[r,o-Bs(o-a,c)];case _e.Bottom:return[r,o+Bs(a-o,c)]}}function Kp({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top,curvature:d=.25}){const[h,p]=ph({pos:o,x1:t,y1:r,x2:l,y2:a,c:d}),[y,g]=ph({pos:c,x1:l,y1:a,x2:t,y2:r,c:d}),[x,m,S,_]=Gp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:h,sourceControlY:p,targetControlX:y,targetControlY:g});return[`M${t},${r} C${h},${p} ${y},${g} ${l},${a}`,x,m,S,_]}function qp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const a=Math.abs(o-t)/2,c=o0}const $w=({source:t,sourceHandle:r,target:o,targetHandle:l})=>`xy-edge__${t}${r||""}-${o}${l||""}`,Dw=(t,r)=>r.some(o=>o.source===t.source&&o.target===t.target&&(o.sourceHandle===t.sourceHandle||!o.sourceHandle&&!t.sourceHandle)&&(o.targetHandle===t.targetHandle||!o.targetHandle&&!t.targetHandle)),Ow=(t,r,o={})=>{var c;if(!t.source||!t.target)return(c=o.onError)==null||c.call(o,"006",Gt.error006()),r;const l=o.getEdgeId||$w;let a;return Op(t)?a={...t}:a={...t,id:l(t)},Dw(a,r)?r:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,r.concat(a))};function Zp({sourceX:t,sourceY:r,targetX:o,targetY:l}){const[a,c,d,h]=qp({sourceX:t,sourceY:r,targetX:o,targetY:l});return[`M ${t},${r}L ${o},${l}`,a,c,d,h]}const gh={[_e.Left]:{x:-1,y:0},[_e.Right]:{x:1,y:0},[_e.Top]:{x:0,y:-1},[_e.Bottom]:{x:0,y:1}},bw=({source:t,sourcePosition:r=_e.Bottom,target:o})=>r===_e.Left||r===_e.Right?t.xMath.sqrt(Math.pow(r.x-t.x,2)+Math.pow(r.y-t.y,2));function Fw({source:t,sourcePosition:r=_e.Bottom,target:o,targetPosition:l=_e.Top,center:a,offset:c,stepPosition:d}){const h=gh[r],p=gh[l],y={x:t.x+h.x*c,y:t.y+h.y*c},g={x:o.x+p.x*c,y:o.y+p.y*c},x=bw({source:y,sourcePosition:r,target:g}),m=x.x!==0?"x":"y",S=x[m];let _=[],M,E;const N={x:0,y:0},T={x:0,y:0},[,,k,P]=qp({sourceX:t.x,sourceY:t.y,targetX:o.x,targetY:o.y});if(h[m]*p[m]===-1){m==="x"?(M=a.x??y.x+(g.x-y.x)*d,E=a.y??(y.y+g.y)/2):(M=a.x??(y.x+g.x)/2,E=a.y??y.y+(g.y-y.y)*d);const X=[{x:M,y:y.y},{x:M,y:g.y}],Q=[{x:y.x,y:E},{x:g.x,y:E}];h[m]===S?_=m==="x"?X:Q:_=m==="x"?Q:X}else{const X=[{x:y.x,y:g.y}],Q=[{x:g.x,y:y.y}];if(m==="x"?_=h.x===S?Q:X:_=h.y===S?X:Q,r===l){const C=Math.abs(t[m]-o[m]);if(C<=c){const B=Math.min(c-1,c-C);h[m]===S?N[m]=(y[m]>t[m]?-1:1)*B:T[m]=(g[m]>o[m]?-1:1)*B}}if(r!==l){const C=m==="x"?"y":"x",B=h[m]===p[C],F=y[C]>g[C],V=y[C]=J?(M=(te.x+Z.x)/2,E=_[0].y):(M=_[0].x,E=(te.y+Z.y)/2)}const b={x:y.x+N.x,y:y.y+N.y},$={x:g.x+T.x,y:g.y+T.y};return[[t,...b.x!==_[0].x||b.y!==_[0].y?[b]:[],..._,...$.x!==_[_.length-1].x||$.y!==_[_.length-1].y?[$]:[],o],M,E,k,P]}function Hw(t,r,o,l){const a=Math.min(mh(t,r)/2,mh(r,o)/2,l),{x:c,y:d}=r;if(t.x===c&&c===o.x||t.y===d&&d===o.y)return`L${c} ${d}`;if(t.y===d){const y=t.xo.id===r):t[0])||null}function Uu(t,r){return t?typeof t=="string"?t:`${r?`${r}__`:""}${Object.keys(t).sort().map(l=>`${l}=${t[l]}`).join("&")}`:""}function Bw(t,{id:r,defaultColor:o,defaultMarkerStart:l,defaultMarkerEnd:a}){const c=new Set;return t.reduce((d,h)=>([h.markerStart||l,h.markerEnd||a].forEach(p=>{if(p&&typeof p=="object"){const y=Uu(p,r);c.has(y)||(d.push({id:y,color:p.color||o,...p}),c.add(y))}}),d),[]).sort((d,h)=>d.id.localeCompare(h.id))}const Jp=1e3,Uw=10,lc={nodeOrigin:[0,0],nodeExtent:so,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Ww={...lc,checkEquality:!0};function ac(t,r){const o={...t};for(const l in r)r[l]!==void 0&&(o[l]=r[l]);return o}function Yw(t,r,o){const l=ac(lc,o);for(const a of t.values())if(a.parentId)cc(a,t,r,l);else{const c=mo(a,l.nodeOrigin),d=xr(a.extent)?a.extent:l.nodeExtent,h=vr(c,d,qt(a));a.internals.positionAbsolute=h}}function Xw(t,r){if(!t.handles)return t.measured?r==null?void 0:r.internals.handleBounds:void 0;const o=[],l=[];for(const a of t.handles){const c={id:a.id,width:a.width??1,height:a.height??1,nodeId:t.id,x:a.x,y:a.y,position:a.position,type:a.type};a.type==="source"?o.push(c):a.type==="target"&&l.push(c)}return{source:o,target:l}}function uc(t){return t==="manual"}function Wu(t,r,o,l={}){var g,x;const a=ac(Ww,l),c={i:0},d=new Map(r),h=a!=null&&a.elevateNodesOnSelect&&!uc(a.zIndexMode)?Jp:0;let p=t.length>0,y=!1;r.clear(),o.clear();for(const m of t){let S=d.get(m.id);if(a.checkEquality&&m===(S==null?void 0:S.internals.userNode))r.set(m.id,S);else{const _=mo(m,a.nodeOrigin),M=xr(m.extent)?m.extent:a.nodeExtent,E=vr(_,M,qt(m));S={...a.defaults,...m,measured:{width:(g=m.measured)==null?void 0:g.width,height:(x=m.measured)==null?void 0:x.height},internals:{positionAbsolute:E,handleBounds:Xw(m,S),z:eg(m,h,a.zIndexMode),userNode:m}},r.set(m.id,S)}(S.measured===void 0||S.measured.width===void 0||S.measured.height===void 0)&&!S.hidden&&(p=!1),m.parentId&&cc(S,r,o,l,c),y||(y=m.selected??!1)}return{nodesInitialized:p,hasSelectedNodes:y}}function Qw(t,r){if(!t.parentId)return;const o=r.get(t.parentId);o?o.set(t.id,t):r.set(t.parentId,new Map([[t.id,t]]))}function cc(t,r,o,l,a){const{elevateNodesOnSelect:c,nodeOrigin:d,nodeExtent:h,zIndexMode:p}=ac(lc,l),y=t.parentId,g=r.get(y);if(!g){console.warn(`Parent node ${y} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Qw(t,o),a&&!g.parentId&&g.internals.rootParentIndex===void 0&&p==="auto"&&(g.internals.rootParentIndex=++a.i,g.internals.z=g.internals.z+a.i*Uw),a&&g.internals.rootParentIndex!==void 0&&(a.i=g.internals.rootParentIndex);const x=c&&!uc(p)?Jp:0,{x:m,y:S,z:_}=Gw(t,g,d,h,x,p),{positionAbsolute:M}=t.internals,E=m!==M.x||S!==M.y;(E||_!==t.internals.z)&&r.set(t.id,{...t,internals:{...t.internals,positionAbsolute:E?{x:m,y:S}:M,z:_}})}function eg(t,r,o){const l=Xt(t.zIndex)?t.zIndex:0;return uc(o)?l:l+(t.selected?r:0)}function Gw(t,r,o,l,a,c){const{x:d,y:h}=r.internals.positionAbsolute,p=qt(t),y=mo(t,o),g=xr(t.extent)?vr(y,t.extent,p):y;let x=vr({x:d+g.x,y:h+g.y},l,p);t.extent==="parent"&&(x=Fp(x,p,r));const m=eg(t,a,c),S=r.internals.z??0;return{x:x.x,y:x.y,z:S>=m?S+1:m}}function dc(t,r,o,l=[0,0]){var d;const a=[],c=new Map;for(const h of t){const p=r.get(h.parentId);if(!p)continue;const y=((d=c.get(h.parentId))==null?void 0:d.expandedRect)??ao(p),g=Hp(y,h.rect);c.set(h.parentId,{expandedRect:g,parent:p})}return c.size>0&&c.forEach(({expandedRect:h,parent:p},y)=>{var k;const g=p.internals.positionAbsolute,x=qt(p),m=p.origin??l,S=h.x0||_>0||N||T)&&(a.push({id:y,type:"position",position:{x:p.position.x-S+N,y:p.position.y-_+T}}),(k=o.get(y))==null||k.forEach(P=>{t.some(b=>b.id===P.id)||a.push({id:P.id,type:"position",position:{x:P.position.x+S,y:P.position.y+_}})})),(x.width0){const S=dc(m,r,o,a);y.push(...S)}return{changes:y,updatedInternals:p}}async function qw({delta:t,panZoom:r,transform:o,translateExtent:l,width:a,height:c}){if(!r||!t.x&&!t.y)return!1;const d=await r.setViewportConstrained({x:o[0]+t.x,y:o[1]+t.y,zoom:o[2]},[[0,0],[a,c]],l);return!!d&&(d.x!==o[0]||d.y!==o[1]||d.k!==o[2])}function wh(t,r,o,l,a,c){let d=a;const h=l.get(d)||new Map;l.set(d,h.set(o,r)),d=`${a}-${t}`;const p=l.get(d)||new Map;if(l.set(d,p.set(o,r)),c){d=`${a}-${t}-${c}`;const y=l.get(d)||new Map;l.set(d,y.set(o,r))}}function tg(t,r,o){t.clear(),r.clear();for(const l of o){const{source:a,target:c,sourceHandle:d=null,targetHandle:h=null}=l,p={edgeId:l.id,source:a,target:c,sourceHandle:d,targetHandle:h},y=`${a}-${d}--${c}-${h}`,g=`${c}-${h}--${a}-${d}`;wh("source",p,g,t,a,d),wh("target",p,y,t,c,h),r.set(l.id,l)}}function ng(t,r){if(!t.parentId)return!1;const o=r.get(t.parentId);return o?o.selected?!0:ng(o,r):!1}function Sh(t,r,o){var a;let l=t;do{if((a=l==null?void 0:l.matches)!=null&&a.call(l,r))return!0;if(l===o)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function Zw(t,r,o,l){const a=new Map;for(const[c,d]of t)if((d.selected||d.id===l)&&(!d.parentId||!ng(d,t))&&(d.draggable||r&&typeof d.draggable>"u")){const h=t.get(c);h&&a.set(c,{id:c,position:h.position||{x:0,y:0},distance:{x:o.x-h.internals.positionAbsolute.x,y:o.y-h.internals.positionAbsolute.y},extent:h.extent,parentId:h.parentId,origin:h.origin,expandParent:h.expandParent,internals:{positionAbsolute:h.internals.positionAbsolute||{x:0,y:0}},measured:{width:h.measured.width??0,height:h.measured.height??0}})}return a}function Eu({nodeId:t,dragItems:r,nodeLookup:o,dragging:l=!0}){var d,h,p;const a=[];for(const[y,g]of r){const x=(d=o.get(y))==null?void 0:d.internals.userNode;x&&a.push({...x,position:g.position,dragging:l})}if(!t)return[a[0],a];const c=(h=o.get(t))==null?void 0:h.internals.userNode;return[c?{...c,position:((p=r.get(t))==null?void 0:p.position)||c.position,dragging:l}:a[0],a]}function Jw({dragItems:t,snapGrid:r,x:o,y:l}){const a=t.values().next().value;if(!a)return null;const c={x:o-a.distance.x,y:l-a.distance.y},d=vo(c,r);return{x:d.x-c.x,y:d.y-c.y}}function e1({onNodeMouseDown:t,getStoreItems:r,onDragStart:o,onDrag:l,onDragStop:a}){let c={x:null,y:null},d=0,h=new Map,p=!1,y={x:0,y:0},g=null,x=!1,m=null,S=!1,_=!1,M=null;function E({noDragClassName:T,handleSelector:k,domNode:P,isSelectable:b,nodeId:$,nodeClickDistance:H=0}){m=It(P);function X({x:ee,y:J}){const{nodeLookup:C,nodeExtent:B,snapGrid:F,snapToGrid:V,nodeOrigin:A,onNodeDrag:L,onSelectionDrag:O,onError:j,updateNodePositions:z}=r();c={x:ee,y:J};let ne=!1;const re=h.size>1,ue=re&&B?Vu(yo(h)):null,ce=re&&V?Jw({dragItems:h,snapGrid:F,x:ee,y:J}):null;for(const[de,G]of h){if(!C.has(de))continue;let se={x:ee-G.distance.x,y:J-G.distance.y};V&&(se=ce?{x:Math.round(se.x+ce.x),y:Math.round(se.y+ce.y)}:vo(se,F));let pe=null;if(re&&B&&!G.extent&&ue){const{positionAbsolute:me}=G.internals,Ce=me.x-ue.x+B[0][0],je=me.x+G.measured.width-ue.x2+B[1][0],Pe=me.y-ue.y+B[0][1],Le=me.y+G.measured.height-ue.y2+B[1][1];pe=[[Ce,Pe],[je,Le]]}const{position:we,positionAbsolute:ve}=bp({nodeId:de,nextPosition:se,nodeLookup:C,nodeExtent:pe||B,nodeOrigin:A,onError:j});ne=ne||G.position.x!==we.x||G.position.y!==we.y,G.position=we,G.internals.positionAbsolute=ve}if(_=_||ne,!!ne&&(z(h,!0),M&&(l||L||!$&&O))){const[de,G]=Eu({nodeId:$,dragItems:h,nodeLookup:C});l==null||l(M,h,de,G),L==null||L(M,de,G),$||O==null||O(M,G)}}async function Q(){if(!g)return;const{transform:ee,panBy:J,autoPanSpeed:C,autoPanOnNodeDrag:B}=r();if(!B){p=!1,cancelAnimationFrame(d);return}const[F,V]=ic(y,g,C);(F!==0||V!==0)&&(c.x=(c.x??0)-F/ee[2],c.y=(c.y??0)-V/ee[2],await J({x:F,y:V})&&X(c)),d=requestAnimationFrame(Q)}function te(ee){var re;const{nodeLookup:J,multiSelectionActive:C,nodesDraggable:B,transform:F,snapGrid:V,snapToGrid:A,selectNodesOnDrag:L,onNodeDragStart:O,onSelectionDragStart:j,unselectNodesAndEdges:z}=r();x=!0,(!L||!b)&&!C&&$&&((re=J.get($))!=null&&re.selected||z()),b&&L&&$&&(t==null||t($));const ne=to(ee.sourceEvent,{transform:F,snapGrid:V,snapToGrid:A,containerBounds:g});if(c=ne,h=Zw(J,B,ne,$),h.size>0&&(o||O||!$&&j)){const[ue,ce]=Eu({nodeId:$,dragItems:h,nodeLookup:J});o==null||o(ee.sourceEvent,h,ue,ce),O==null||O(ee.sourceEvent,ue,ce),$||j==null||j(ee.sourceEvent,ce)}}const Z=vp().clickDistance(H).on("start",ee=>{const{domNode:J,nodeDragThreshold:C,transform:B,snapGrid:F,snapToGrid:V}=r();g=(J==null?void 0:J.getBoundingClientRect())||null,S=!1,_=!1,M=ee.sourceEvent,C===0&&te(ee),c=to(ee.sourceEvent,{transform:B,snapGrid:F,snapToGrid:V,containerBounds:g}),y=Qt(ee.sourceEvent,g)}).on("drag",ee=>{const{autoPanOnNodeDrag:J,transform:C,snapGrid:B,snapToGrid:F,nodeDragThreshold:V,nodeLookup:A}=r(),L=to(ee.sourceEvent,{transform:C,snapGrid:B,snapToGrid:F,containerBounds:g});if(M=ee.sourceEvent,(ee.sourceEvent.type==="touchmove"&&ee.sourceEvent.touches.length>1||$&&!A.has($))&&(S=!0),!S){if(!p&&J&&x&&(p=!0,Q()),!x){const O=Qt(ee.sourceEvent,g),j=O.x-y.x,z=O.y-y.y;Math.sqrt(j*j+z*z)>V&&te(ee)}(c.x!==L.xSnapped||c.y!==L.ySnapped)&&h&&x&&(y=Qt(ee.sourceEvent,g),X(L))}}).on("end",ee=>{if(!x||S){S&&h.size>0&&r().updateNodePositions(h,!1);return}if(p=!1,x=!1,cancelAnimationFrame(d),h.size>0){const{nodeLookup:J,updateNodePositions:C,onNodeDragStop:B,onSelectionDragStop:F}=r();if(_&&(C(h,!1),_=!1),a||B||!$&&F){const[V,A]=Eu({nodeId:$,dragItems:h,nodeLookup:J,dragging:!1});a==null||a(ee.sourceEvent,h,V,A),B==null||B(ee.sourceEvent,V,A),$||F==null||F(ee.sourceEvent,A)}}}).filter(ee=>{const J=ee.target;return!ee.button&&(!T||!Sh(J,`.${T}`,P))&&(!k||Sh(J,k,P))});m.call(Z)}function N(){m==null||m.on(".drag",null)}return{update:E,destroy:N}}function t1(t,r,o){const l=[],a={x:t.x-o,y:t.y-o,width:o*2,height:o*2};for(const c of r.values())ll(a,ao(c))>0&&l.push(c);return l}const n1=250;function r1(t,r,o,l){var h,p;let a=[],c=1/0;const d=t1(t,o,r+n1);for(const y of d){const g=[...((h=y.internals.handleBounds)==null?void 0:h.source)??[],...((p=y.internals.handleBounds)==null?void 0:p.target)??[]];for(const x of g){if(l.nodeId===x.nodeId&&l.type===x.type&&l.id===x.id)continue;const{x:m,y:S}=wr(y,x,x.position,!0),_=Math.sqrt(Math.pow(m-t.x,2)+Math.pow(S-t.y,2));_>r||(_1){const y=l.type==="source"?"target":"source";return a.find(g=>g.type===y)??a[0]}return a[0]}function rg(t,r,o,l,a,c=!1){var y,g,x;const d=l.get(t);if(!d)return null;const h=a==="strict"?(y=d.internals.handleBounds)==null?void 0:y[r]:[...((g=d.internals.handleBounds)==null?void 0:g.source)??[],...((x=d.internals.handleBounds)==null?void 0:x.target)??[]],p=(o?h==null?void 0:h.find(m=>m.id===o):h==null?void 0:h[0])??null;return p&&c?{...p,...wr(d,p,p.position,!0)}:p}function ig(t,r){return t||(r!=null&&r.classList.contains("target")?"target":r!=null&&r.classList.contains("source")?"source":null)}function i1(t,r){let o=null;return r?o=!0:t&&!r&&(o=!1),o}const og=()=>!0;function o1(t,{connectionMode:r,connectionRadius:o,handleId:l,nodeId:a,edgeUpdaterType:c,isTarget:d,domNode:h,nodeLookup:p,lib:y,autoPanOnConnect:g,flowId:x,panBy:m,cancelConnection:S,onConnectStart:_,onConnect:M,onConnectEnd:E,isValidConnection:N=og,onReconnectEnd:T,updateConnection:k,getTransform:P,getFromHandle:b,autoPanSpeed:$,dragThreshold:H=1,handleDomNode:X}){const Q=Yp(t.target);let te=0,Z;const{x:ee,y:J}=Qt(t),C=ig(c,X),B=h==null?void 0:h.getBoundingClientRect();let F=!1;if(!B||!C)return;const V=rg(a,C,l,p,r);if(!V)return;let A=Qt(t,B),L=!1,O=null,j=!1,z=null;function ne(){if(!g||!B)return;const[we,ve]=ic(A,B,$);m({x:we,y:ve}),te=requestAnimationFrame(ne)}const re={...V,nodeId:a,type:C,position:V.position},ue=p.get(a);let de={inProgress:!0,isValid:null,from:wr(ue,re,_e.Left,!0),fromHandle:re,fromPosition:re.position,fromNode:ue,to:A,toHandle:null,toPosition:uh[re.position],toNode:null,pointer:A};function G(){F=!0,k(de),_==null||_(t,{nodeId:a,handleId:l,handleType:C})}H===0&&G();function se(we){if(!F){const{x:Le,y:rt}=Qt(we),st=Le-ee,Ge=rt-J;if(!(st*st+Ge*Ge>H*H))return;G()}if(!b()||!re){pe(we);return}const ve=P();A=Qt(we,B),Z=r1(xo(A,ve,!1,[1,1]),o,p,re),L||(ne(),L=!0);const me=sg(we,{handle:Z,connectionMode:r,fromNodeId:a,fromHandleId:l,fromType:d?"target":"source",isValidConnection:N,doc:Q,lib:y,flowId:x,nodeLookup:p});z=me.handleDomNode,O=me.connection,j=i1(!!Z,me.isValid);const Ce=p.get(a),je=Ce?wr(Ce,re,_e.Left,!0):de.from,Pe={...de,from:je,isValid:j,to:me.toHandle&&j?ii({x:me.toHandle.x,y:me.toHandle.y},ve):A,toHandle:me.toHandle,toPosition:j&&me.toHandle?me.toHandle.position:uh[re.position],toNode:me.toHandle?p.get(me.toHandle.nodeId):null,pointer:A};k(Pe),de=Pe}function pe(we){if(!("touches"in we&&we.touches.length>0)){if(F){(Z||z)&&O&&j&&(M==null||M(O));const{inProgress:ve,...me}=de,Ce={...me,toPosition:de.toHandle?de.toPosition:null};E==null||E(we,Ce),c&&(T==null||T(we,Ce))}S(),cancelAnimationFrame(te),L=!1,j=!1,O=null,z=null,Q.removeEventListener("mousemove",se),Q.removeEventListener("mouseup",pe),Q.removeEventListener("touchmove",se),Q.removeEventListener("touchend",pe)}}Q.addEventListener("mousemove",se),Q.addEventListener("mouseup",pe),Q.addEventListener("touchmove",se),Q.addEventListener("touchend",pe)}function sg(t,{handle:r,connectionMode:o,fromNodeId:l,fromHandleId:a,fromType:c,doc:d,lib:h,flowId:p,isValidConnection:y=og,nodeLookup:g}){const x=c==="target",m=r?d.querySelector(`.${h}-flow__handle[data-id="${p}-${r==null?void 0:r.nodeId}-${r==null?void 0:r.id}-${r==null?void 0:r.type}"]`):null,{x:S,y:_}=Qt(t),M=d.elementFromPoint(S,_),E=M!=null&&M.classList.contains(`${h}-flow__handle`)?M:m,N={handleDomNode:E,isValid:!1,connection:null,toHandle:null};if(E){const T=ig(void 0,E),k=E.getAttribute("data-nodeid"),P=E.getAttribute("data-handleid"),b=E.classList.contains("connectable"),$=E.classList.contains("connectableend");if(!k||!T)return N;const H={source:x?k:l,sourceHandle:x?P:a,target:x?l:k,targetHandle:x?a:P};N.connection=H;const Q=b&&$&&(o===ni.Strict?x&&T==="source"||!x&&T==="target":k!==l||P!==a);N.isValid=Q&&y(H),N.toHandle=rg(k,T,P,g,o,!0)}return N}const Yu={onPointerDown:o1,isValid:sg};function s1({domNode:t,panZoom:r,getTransform:o,getViewScale:l}){const a=It(t);function c({translateExtent:h,width:p,height:y,zoomStep:g=1,pannable:x=!0,zoomable:m=!0,inversePan:S=!1}){const _=k=>{if(k.sourceEvent.type!=="wheel"||!r)return;const P=o(),b=k.sourceEvent.ctrlKey&&uo()?10:1,$=-k.sourceEvent.deltaY*(k.sourceEvent.deltaMode===1?.05:k.sourceEvent.deltaMode?1:.002)*g,H=P[2]*Math.pow(2,$*b);r.scaleTo(H)};let M=[0,0];const E=k=>{(k.sourceEvent.type==="mousedown"||k.sourceEvent.type==="touchstart")&&(M=[k.sourceEvent.clientX??k.sourceEvent.touches[0].clientX,k.sourceEvent.clientY??k.sourceEvent.touches[0].clientY])},N=k=>{const P=o();if(k.sourceEvent.type!=="mousemove"&&k.sourceEvent.type!=="touchmove"||!r)return;const b=[k.sourceEvent.clientX??k.sourceEvent.touches[0].clientX,k.sourceEvent.clientY??k.sourceEvent.touches[0].clientY],$=[b[0]-M[0],b[1]-M[1]];M=b;const H=l()*Math.max(P[2],Math.log(P[2]))*(S?-1:1),X={x:P[0]-$[0]*H,y:P[1]-$[1]*H},Q=[[0,0],[p,y]];r.setViewportConstrained({x:X.x,y:X.y,zoom:P[2]},Q,h)},T=Rp().on("start",E).on("zoom",x?N:null).on("zoom.wheel",m?_:null);a.call(T,{})}function d(){a.on("zoom",null)}return{update:c,destroy:d,pointer:Wt}}const vl=t=>({x:t.x,y:t.y,zoom:t.k}),Nu=({x:t,y:r,zoom:o})=>gl.translate(t,r).scale(o),Un=(t,r)=>t.target.closest(`.${r}`),lg=(t,r)=>r===2&&Array.isArray(t)&&t.includes(2),l1=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Cu=(t,r=0,o=l1,l=()=>{})=>{const a=typeof r=="number"&&r>0;return a||l(),a?t.transition().duration(r).ease(o).on("end",l):t},ag=t=>{const r=t.ctrlKey&&uo()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*r};function a1({zoomPanValues:t,noWheelClassName:r,d3Selection:o,d3Zoom:l,panOnScrollMode:a,panOnScrollSpeed:c,zoomOnPinch:d,onPanZoomStart:h,onPanZoom:p,onPanZoomEnd:y}){return g=>{if(Un(g,r))return g.ctrlKey&&g.preventDefault(),!1;g.preventDefault(),g.stopImmediatePropagation();const x=o.property("__zoom").k||1;if(g.ctrlKey&&d){const E=Wt(g),N=ag(g),T=x*Math.pow(2,N);l.scaleTo(o,T,E,g);return}const m=g.deltaMode===1?20:1;let S=a===gr.Vertical?0:g.deltaX*m,_=a===gr.Horizontal?0:g.deltaY*m;!uo()&&g.shiftKey&&a!==gr.Vertical&&(S=g.deltaY*m,_=0),l.translateBy(o,-(S/x)*c,-(_/x)*c,{internal:!0});const M=vl(o.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?p==null||p(g,M):(t.isPanScrolling=!0,h==null||h(g,M)),t.panScrollTimeout=setTimeout(()=>{y==null||y(g,M),t.isPanScrolling=!1},150)}}function u1({noWheelClassName:t,preventScrolling:r,d3ZoomHandler:o}){return function(l,a){const c=l.type==="wheel",d=!r&&c&&!l.ctrlKey,h=Un(l,t);if(l.ctrlKey&&c&&h&&l.preventDefault(),d||h)return null;l.preventDefault(),o.call(this,l,a)}}function c1({zoomPanValues:t,onDraggingChange:r,onPanZoomStart:o}){return l=>{var c,d,h;if((c=l.sourceEvent)!=null&&c.internal)return;const a=vl(l.transform);t.mouseButton=((d=l.sourceEvent)==null?void 0:d.button)||0,t.isZoomingOrPanning=!0,t.prevViewport=a,((h=l.sourceEvent)==null?void 0:h.type)==="mousedown"&&r(!0),o&&(o==null||o(l.sourceEvent,a))}}function d1({zoomPanValues:t,panOnDrag:r,onPaneContextMenu:o,onTransformChange:l,onPanZoom:a}){return c=>{var d,h;t.usedRightMouseButton=!!(o&&lg(r,t.mouseButton??0)),(d=c.sourceEvent)!=null&&d.sync||l([c.transform.x,c.transform.y,c.transform.k]),a&&!((h=c.sourceEvent)!=null&&h.internal)&&(a==null||a(c.sourceEvent,vl(c.transform)))}}function f1({zoomPanValues:t,panOnDrag:r,panOnScroll:o,onDraggingChange:l,onPanZoomEnd:a,onPaneContextMenu:c}){return d=>{var h;if(!((h=d.sourceEvent)!=null&&h.internal)&&(t.isZoomingOrPanning=!1,c&&lg(r,t.mouseButton??0)&&!t.usedRightMouseButton&&d.sourceEvent&&c(d.sourceEvent),t.usedRightMouseButton=!1,l(!1),a)){const p=vl(d.transform);t.prevViewport=p,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{a==null||a(d.sourceEvent,p)},o?150:0)}}}function h1({panActivationKeyPressed:t,zoomActivationKeyPressed:r,zoomOnScroll:o,zoomOnPinch:l,panOnDrag:a,panOnScroll:c,zoomOnDoubleClick:d,userSelectionActive:h,noWheelClassName:p,noPanClassName:y,lib:g,connectionInProgress:x}){return m=>{var N;const S=r||o,_=l&&m.ctrlKey,M=m.type==="wheel";if(m.button===1&&m.type==="mousedown"&&(Un(m,`${g}-flow__node`)||Un(m,`${g}-flow__edge`)||Un(m,`${g}-flow__selection`)||Un(m,`${g}-flow__nodesselection`)))return!0;if(!a&&!S&&!c&&!d&&!l||h||x&&!M||Un(m,p)&&M||Un(m,y)&&(!M||c&&M&&!r)||!l&&m.ctrlKey&&M)return!1;if(!l&&m.type==="touchstart"&&((N=m.touches)==null?void 0:N.length)>1)return m.preventDefault(),!1;if(!S&&!c&&!_&&M||!a&&(m.type==="mousedown"||m.type==="touchstart")||Array.isArray(a)&&!a.includes(m.button)&&m.type==="mousedown")return!1;const E=Array.isArray(a)&&a.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||M||t)&&E}}function p1({domNode:t,minZoom:r,maxZoom:o,translateExtent:l,viewport:a,onPanZoom:c,onPanZoomStart:d,onPanZoomEnd:h,onDraggingChange:p}){const y={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=t.getBoundingClientRect();let x=[[0,0],[g.width,g.height]];const m=typeof ResizeObserver<"u"?new ResizeObserver(J=>{const C=J[0];C&&(x=[[0,0],[C.contentRect.width,C.contentRect.height]])}):null;m==null||m.observe(t);const S=Rp().extent(()=>x).scaleExtent([r,o]).translateExtent(l),_=It(t).call(S);P({x:a.x,y:a.y,zoom:ri(a.zoom,r,o)},[[0,0],[g.width,g.height]],l);const M=_.on("wheel.zoom"),E=_.on("dblclick.zoom");S.wheelDelta(ag);async function N(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).transform(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function T({noWheelClassName:J,noPanClassName:C,onPaneContextMenu:B,userSelectionActive:F,panOnScroll:V,panOnDrag:A,panOnScrollMode:L,panOnScrollSpeed:O,preventScrolling:j,zoomOnPinch:z,zoomOnScroll:ne,zoomOnDoubleClick:re,panActivationKeyPressed:ue=!1,zoomActivationKeyPressed:ce,lib:de,onTransformChange:G,connectionInProgress:se,paneClickDistance:pe,selectionOnDrag:we}){F&&!y.isZoomingOrPanning&&k();const ve=V&&!ce&&!F;S.clickDistance(we?1/0:!Xt(pe)||pe<0?0:pe);const me=ve?a1({zoomPanValues:y,noWheelClassName:J,d3Selection:_,d3Zoom:S,panOnScrollMode:L,panOnScrollSpeed:O,zoomOnPinch:z,onPanZoomStart:d,onPanZoom:c,onPanZoomEnd:h}):u1({noWheelClassName:J,preventScrolling:j,d3ZoomHandler:M});_.on("wheel.zoom",me,{passive:!1});const Ce=c1({zoomPanValues:y,onDraggingChange:p,onPanZoomStart:d});S.on("start",Ce);const je=d1({zoomPanValues:y,panOnDrag:A,onPaneContextMenu:!!B,onPanZoom:c,onTransformChange:G});S.on("zoom",je);const Pe=f1({zoomPanValues:y,panOnDrag:A,panOnScroll:V,onPaneContextMenu:B,onPanZoomEnd:h,onDraggingChange:p});S.on("end",Pe);const Le=h1({panActivationKeyPressed:ue,zoomActivationKeyPressed:ce,panOnDrag:A,zoomOnScroll:ne,panOnScroll:V,zoomOnDoubleClick:re,zoomOnPinch:z,userSelectionActive:F,noPanClassName:C,noWheelClassName:J,lib:de,connectionInProgress:se});S.filter(Le),re?_.on("dblclick.zoom",E):_.on("dblclick.zoom",null)}function k(){S.on("zoom",null)}async function P(J,C,B){const F=Nu(J),V=S==null?void 0:S.constrain()(F,C,B);return V&&await N(V),V}async function b(J,C){const B=Nu(J);return await N(B,C),B}function $(J){if(_){const C=Nu(J),B=_.property("__zoom");(B.k!==J.zoom||B.x!==J.x||B.y!==J.y)&&(S==null||S.transform(_,C,null,{sync:!0}))}}function H(){const J=_?zp(_.node()):{x:0,y:0,k:1};return{x:J.x,y:J.y,zoom:J.k}}async function X(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleTo(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}async function Q(J,C){return _?new Promise(B=>{S==null||S.interpolate((C==null?void 0:C.interpolate)==="linear"?eo:Qs).scaleBy(Cu(_,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>B(!0)),J)}):!1}function te(J){S==null||S.scaleExtent(J)}function Z(J){S==null||S.translateExtent(J)}function ee(J){const C=!Xt(J)||J<0?0:J;S==null||S.clickDistance(C)}return{update:T,destroy:k,setViewport:b,setViewportConstrained:P,getViewport:H,scaleTo:X,scaleBy:Q,setScaleExtent:te,setTranslateExtent:Z,syncViewport:$,setClickDistance:ee}}var oi;(function(t){t.Line="line",t.Handle="handle"})(oi||(oi={}));function g1({width:t,prevWidth:r,height:o,prevHeight:l,affectsX:a,affectsY:c}){const d=t-r,h=o-l,p=[d>0?1:d<0?-1:0,h>0?1:h<0?-1:0];return d&&a&&(p[0]=p[0]*-1),h&&c&&(p[1]=p[1]*-1),p}function _h(t){const r=t.includes("right")||t.includes("left"),o=t.includes("bottom")||t.includes("top"),l=t.includes("left"),a=t.includes("top");return{isHorizontal:r,isVertical:o,affectsX:l,affectsY:a}}function Vn(t,r){return Math.max(0,r-t)}function Bn(t,r){return Math.max(0,t-r)}function Us(t,r,o){return Math.max(0,r-t,t-o)}function kh(t,r){return t?!r:r}function m1(t,r,o,l,a,c,d,h){let{affectsX:p,affectsY:y}=r;const{isHorizontal:g,isVertical:x}=r,m=g&&x,{xSnapped:S,ySnapped:_}=o,{minWidth:M,maxWidth:E,minHeight:N,maxHeight:T}=l,{x:k,y:P,width:b,height:$,aspectRatio:H}=t;let X=Math.floor(g?S-t.pointerX:0),Q=Math.floor(x?_-t.pointerY:0);const te=b+(p?-X:X),Z=$+(y?-Q:Q),ee=-c[0]*b,J=-c[1]*$;let C=Us(te,M,E),B=Us(Z,N,T);if(d){let A=0,L=0;p&&X<0?A=Vn(k+X+ee,d[0][0]):!p&&X>0&&(A=Bn(k+te+ee,d[1][0])),y&&Q<0?L=Vn(P+Q+J,d[0][1]):!y&&Q>0&&(L=Bn(P+Z+J,d[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(h){let A=0,L=0;p&&X>0?A=Bn(k+X,h[0][0]):!p&&X<0&&(A=Vn(k+te,h[1][0])),y&&Q>0?L=Bn(P+Q,h[0][1]):!y&&Q<0&&(L=Vn(P+Z,h[1][1])),C=Math.max(C,A),B=Math.max(B,L)}if(a){if(g){const A=Us(te/H,N,T)*H;if(C=Math.max(C,A),d){let L=0;!p&&!y||p&&!y&&m?L=Bn(P+J+te/H,d[1][1])*H:L=Vn(P+J+(p?X:-X)/H,d[0][1])*H,C=Math.max(C,L)}if(h){let L=0;!p&&!y||p&&!y&&m?L=Vn(P+te/H,h[1][1])*H:L=Bn(P+(p?X:-X)/H,h[0][1])*H,C=Math.max(C,L)}}if(x){const A=Us(Z*H,M,E)/H;if(B=Math.max(B,A),d){let L=0;!p&&!y||y&&!p&&m?L=Bn(k+Z*H+ee,d[1][0])/H:L=Vn(k+(y?Q:-Q)*H+ee,d[0][0])/H,B=Math.max(B,L)}if(h){let L=0;!p&&!y||y&&!p&&m?L=Vn(k+Z*H,h[1][0])/H:L=Bn(k+(y?Q:-Q)*H,h[0][0])/H,B=Math.max(B,L)}}}Q=Q+(Q<0?B:-B),X=X+(X<0?C:-C),a&&(m?te>Z*H?Q=(kh(p,y)?-X:X)/H:X=(kh(p,y)?-Q:Q)*H:g?(Q=X/H,y=p):(X=Q*H,p=y));const F=p?k+X:k,V=y?P+Q:P;return{width:b+(p?-X:X),height:$+(y?-Q:Q),x:c[0]*X*(p?-1:1)+F,y:c[1]*Q*(y?-1:1)+V}}const ug={width:0,height:0,x:0,y:0},y1={...ug,pointerX:0,pointerY:0,aspectRatio:1};function v1(t,r,o){const l=r.position.x+t.position.x,a=r.position.y+t.position.y,c=t.measured.width??0,d=t.measured.height??0,h=o[0]*c,p=o[1]*d;return[[l-h,a-p],[l+c-h,a+d-p]]}function x1({domNode:t,nodeId:r,getStoreItems:o,onChange:l,onEnd:a}){const c=It(t);let d={controlDirection:_h("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function h({controlPosition:y,boundaries:g,keepAspectRatio:x,resizeDirection:m,onResizeStart:S,onResize:_,onResizeEnd:M,shouldResize:E}){let N={...ug},T={...y1};d={boundaries:g,resizeDirection:m,keepAspectRatio:x,controlDirection:_h(y)};let k,P=null,b=[],$,H,X,Q=!1;const te=vp().on("start",Z=>{const{nodeLookup:ee,transform:J,snapGrid:C,snapToGrid:B,nodeOrigin:F,paneDomNode:V}=o();if(k=ee.get(r),!k)return;P=(V==null?void 0:V.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:L}=to(Z.sourceEvent,{transform:J,snapGrid:C,snapToGrid:B,containerBounds:P});N={width:k.measured.width??0,height:k.measured.height??0,x:k.position.x??0,y:k.position.y??0},T={...N,pointerX:A,pointerY:L,aspectRatio:N.width/N.height},$=void 0,H=xr(k.extent)?k.extent:void 0,k.parentId&&(k.extent==="parent"||k.expandParent)&&($=ee.get(k.parentId)),$&&k.extent==="parent"&&(H=[[0,0],[$.measured.width,$.measured.height]]),b=[],X=void 0;for(const[O,j]of ee)if(j.parentId===r&&(b.push({id:O,position:{...j.position},extent:j.extent}),j.extent==="parent"||j.expandParent)){const z=v1(j,k,j.origin??F);X?X=[[Math.min(z[0][0],X[0][0]),Math.min(z[0][1],X[0][1])],[Math.max(z[1][0],X[1][0]),Math.max(z[1][1],X[1][1])]]:X=z}S==null||S(Z,{...N})}).on("drag",Z=>{const{transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B}=o(),F=to(Z.sourceEvent,{transform:ee,snapGrid:J,snapToGrid:C,containerBounds:P}),V=[];if(!k)return;const{x:A,y:L,width:O,height:j}=N,z={},ne=k.origin??B,{width:re,height:ue,x:ce,y:de}=m1(T,d.controlDirection,F,d.boundaries,d.keepAspectRatio,ne,H,X),G=re!==O,se=ue!==j,pe=ce!==A&&G,we=de!==L&&se;if(!pe&&!we&&!G&&!se)return;if((pe||we||ne[0]===1||ne[1]===1)&&(z.x=pe?ce:N.x,z.y=we?de:N.y,N.x=z.x,N.y=z.y,b.length>0)){const je=ce-A,Pe=de-L;for(const Le of b)Le.position={x:Le.position.x-je+ne[0]*(re-O),y:Le.position.y-Pe+ne[1]*(ue-j)},V.push(Le)}if((G||se)&&(z.width=G&&(!d.resizeDirection||d.resizeDirection==="horizontal")?re:N.width,z.height=se&&(!d.resizeDirection||d.resizeDirection==="vertical")?ue:N.height,N.width=z.width,N.height=z.height),$&&k.expandParent){const je=ne[0]*(z.width??0);z.x&&z.x{Q&&(M==null||M(Z,{...N}),a==null||a({...N}),Q=!1)});c.call(te)}function p(){c.on(".drag",null)}return{update:h,destroy:p}}var ju={exports:{}},Mu={},Pu={exports:{}},Iu={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Eh;function w1(){if(Eh)return Iu;Eh=1;var t=fo();function r(x,m){return x===m&&(x!==0||1/x===1/m)||x!==x&&m!==m}var o=typeof Object.is=="function"?Object.is:r,l=t.useState,a=t.useEffect,c=t.useLayoutEffect,d=t.useDebugValue;function h(x,m){var S=m(),_=l({inst:{value:S,getSnapshot:m}}),M=_[0].inst,E=_[1];return c(function(){M.value=S,M.getSnapshot=m,p(M)&&E({inst:M})},[x,S,m]),a(function(){return p(M)&&E({inst:M}),x(function(){p(M)&&E({inst:M})})},[x]),d(S),S}function p(x){var m=x.getSnapshot;x=x.value;try{var S=m();return!o(x,S)}catch{return!0}}function y(x,m){return m()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?y:h;return Iu.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,Iu}var Nh;function S1(){return Nh||(Nh=1,Pu.exports=w1()),Pu.exports}/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ch;function _1(){if(Ch)return Mu;Ch=1;var t=fo(),r=S1();function o(y,g){return y===g&&(y!==0||1/y===1/g)||y!==y&&g!==g}var l=typeof Object.is=="function"?Object.is:o,a=r.useSyncExternalStore,c=t.useRef,d=t.useEffect,h=t.useMemo,p=t.useDebugValue;return Mu.useSyncExternalStoreWithSelector=function(y,g,x,m,S){var _=c(null);if(_.current===null){var M={hasValue:!1,value:null};_.current=M}else M=_.current;_=h(function(){function N($){if(!T){if(T=!0,k=$,$=m($),S!==void 0&&M.hasValue){var H=M.value;if(S(H,$))return P=H}return P=$}if(H=P,l(k,$))return H;var X=m($);return S!==void 0&&S(H,X)?(k=$,H):(k=$,P=X)}var T=!1,k,P,b=x===void 0?null:x;return[function(){return N(g())},b===null?void 0:function(){return N(b())}]},[g,x,m,S]);var E=a(y,_[0],_[1]);return d(function(){M.hasValue=!0,M.value=E},[E]),p(E),E},Mu}var jh;function k1(){return jh||(jh=1,ju.exports=_1()),ju.exports}var E1=k1();const N1=np(E1),C1={},Mh=t=>{let r;const o=new Set,l=(g,x)=>{const m=typeof g=="function"?g(r):g;if(!Object.is(m,r)){const S=r;r=x??(typeof m!="object"||m===null)?m:Object.assign({},r,m),o.forEach(_=>_(r,S))}},a=()=>r,p={setState:l,getState:a,getInitialState:()=>y,subscribe:g=>(o.add(g),()=>o.delete(g)),destroy:()=>{(C1?"production":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."),o.clear()}},y=r=t(l,a,p);return p},j1=t=>t?Mh(t):Mh,{useDebugValue:M1}=I0,{useSyncExternalStoreWithSelector:P1}=N1,I1=t=>t;function cg(t,r=I1,o){const l=P1(t.subscribe,t.getState,t.getServerState||t.getInitialState,r,o);return M1(l),l}const Ph=(t,r)=>{const o=j1(t),l=(a,c=r)=>cg(o,a,c);return Object.assign(l,o),l},T1=(t,r)=>t?Ph(t,r):Ph;function Ue(t,r){if(Object.is(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(const[l,a]of t)if(!Object.is(a,r.get(l)))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(const l of t)if(!r.has(l))return!1;return!0}const o=Object.keys(t);if(o.length!==Object.keys(r).length)return!1;for(const l of o)if(!Object.prototype.hasOwnProperty.call(r,l)||!Object.is(t[l],r[l]))return!1;return!0}rp();const xl=Y.createContext(null),z1=xl.Provider,dg=Gt.error001("react");function ze(t,r){const o=Y.useContext(xl);if(o===null)throw new Error(dg);return cg(o,t,r)}function be(){const t=Y.useContext(xl);if(t===null)throw new Error(dg);return Y.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const Ih={display:"none"},R1={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},fg="react-flow__node-desc",hg="react-flow__edge-desc",L1="react-flow__aria-live",A1=t=>t.ariaLiveMessage,$1=t=>t.ariaLabelConfig;function D1({rfId:t}){const r=ze(A1);return v.jsx("div",{id:`${L1}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:R1,children:r})}function O1({rfId:t,disableKeyboardA11y:r}){const o=ze($1);return v.jsxs(v.Fragment,{children:[v.jsx("div",{id:`${fg}-${t}`,style:Ih,children:r?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),v.jsx("div",{id:`${hg}-${t}`,style:Ih,children:o["edge.a11yDescription.default"]}),!r&&v.jsx(D1,{rfId:t})]})}const wl=Y.forwardRef(({position:t="top-left",children:r,className:o,style:l,...a},c)=>{const d=`${t}`.split("-");return v.jsx("div",{className:Qe(["react-flow__panel",o,...d]),style:l,ref:c,...a,children:r})});wl.displayName="Panel";const Th="https://reactflow.dev?utm_source=attribution";function b1({proOptions:t,position:r="bottom-right"}){return t!=null&&t.hideAttribution?null:v.jsx(wl,{position:r,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Th}`,children:v.jsx("a",{href:Th,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const F1=t=>{const r=[],o=[];for(const[,l]of t.nodeLookup)l.selected&&r.push(l.internals.userNode);for(const[,l]of t.edgeLookup)l.selected&&o.push(l);return{selectedNodes:r,selectedEdges:o}},Ws=t=>t.id;function H1(t,r){return Ue(t.selectedNodes.map(Ws),r.selectedNodes.map(Ws))&&Ue(t.selectedEdges.map(Ws),r.selectedEdges.map(Ws))}function V1({onSelectionChange:t}){const r=be(),{selectedNodes:o,selectedEdges:l}=ze(F1,H1);return Y.useEffect(()=>{const a={nodes:o,edges:l};t==null||t(a),r.getState().onSelectionChangeHandlers.forEach(c=>c(a))},[o,l,t]),null}const B1=t=>!!t.onSelectionChangeHandlers;function U1({onSelectionChange:t}){const r=ze(B1);return t||r?v.jsx(V1,{onSelectionChange:t}):null}const pg=[0,0],W1={x:0,y:0,zoom:1},Y1=["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"],zh=[...Y1,"rfId"],X1=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),Rh={translateExtent:so,nodeOrigin:pg,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Q1(t){const{setNodes:r,setEdges:o,setMinZoom:l,setMaxZoom:a,setTranslateExtent:c,setNodeExtent:d,reset:h,setDefaultNodesAndEdges:p}=ze(X1,Ue),y=be();Y.useEffect(()=>(p(t.defaultNodes,t.defaultEdges),()=>{g.current=Rh,h()}),[]);const g=Y.useRef(Rh);return Y.useEffect(()=>{for(const x of zh){const m=t[x],S=g.current[x];m!==S&&(typeof t[x]>"u"||(x==="nodes"?r(m):x==="edges"?o(m):x==="minZoom"?l(m):x==="maxZoom"?a(m):x==="translateExtent"?c(m):x==="nodeExtent"?d(m):x==="ariaLabelConfig"?y.setState({ariaLabelConfig:zw(m)}):x==="fitView"?y.setState({fitViewQueued:m}):x==="fitViewOptions"?y.setState({fitViewOptions:m}):y.setState({[x]:m})))}g.current=t},zh.map(x=>t[x])),null}function Lh(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function G1(t){var l;const[r,o]=Y.useState(t==="system"?null:t);return Y.useEffect(()=>{if(t!=="system"){o(t);return}const a=Lh(),c=()=>o(a!=null&&a.matches?"dark":"light");return c(),a==null||a.addEventListener("change",c),()=>{a==null||a.removeEventListener("change",c)}},[t]),r!==null?r:(l=Lh())!=null&&l.matches?"dark":"light"}const Ah=typeof document<"u"?document:null;function co(t=null,r={target:Ah,actInsideInputWithModifier:!0}){const[o,l]=Y.useState(!1),a=Y.useRef(!1),c=Y.useRef(new Set([])),[d,h]=Y.useMemo(()=>{if(t!==null){const y=(Array.isArray(t)?t:[t]).filter(x=>typeof x=="string").map(x=>x.replace(/\+/g,` -`).replace(` - -`,` -+`).split(` -`)),g=y.reduce((x,m)=>x.concat(...m),[]);return[y,g]}return[[],[]]},[t]);return Y.useEffect(()=>{const p=(r==null?void 0:r.target)??Ah,y=(r==null?void 0:r.actInsideInputWithModifier)??!0;if(t!==null){const g=S=>{var E,N;if(a.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!a.current||a.current&&!y)&&Xp(S))return!1;const M=Dh(S.code,h);if(c.current.add(S[M]),$h(d,c.current,!1)){const T=((N=(E=S.composedPath)==null?void 0:E.call(S))==null?void 0:N[0])||S.target,k=(T==null?void 0:T.nodeName)==="BUTTON"||(T==null?void 0:T.nodeName)==="A";r.preventDefault!==!1&&(a.current||!k)&&S.preventDefault(),l(!0)}},x=S=>{const _=Dh(S.code,h);$h(d,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(S[_]),S.key==="Meta"&&c.current.clear(),a.current=!1},m=()=>{c.current.clear(),l(!1)};return p==null||p.addEventListener("keydown",g),p==null||p.addEventListener("keyup",x),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{p==null||p.removeEventListener("keydown",g),p==null||p.removeEventListener("keyup",x),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[t,l]),o}function $h(t,r,o){return t.filter(l=>o||l.length===r.size).some(l=>l.every(a=>r.has(a)))}function Dh(t,r){return r.includes(t)?"code":"key"}const K1=()=>{const t=be();return Y.useMemo(()=>({zoomIn:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1.2,r):!1},zoomOut:async r=>{const{panZoom:o}=t.getState();return o?o.scaleBy(1/1.2,r):!1},zoomTo:async(r,o)=>{const{panZoom:l}=t.getState();return l?l.scaleTo(r,o):!1},getZoom:()=>t.getState().transform[2],setViewport:async(r,o)=>{const{transform:[l,a,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:r.x??l,y:r.y??a,zoom:r.zoom??c},o),!0):!1},getViewport:()=>{const[r,o,l]=t.getState().transform;return{x:r,y:o,zoom:l}},setCenter:async(r,o,l)=>t.getState().setCenter(r,o,l),fitBounds:async(r,o)=>{const{width:l,height:a,minZoom:c,maxZoom:d,panZoom:h}=t.getState(),p=oc(r,l,a,c,d,(o==null?void 0:o.padding)??.1);return h?(await h.setViewport(p,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),!0):!1},screenToFlowPosition:(r,o={})=>{const{transform:l,snapGrid:a,snapToGrid:c,domNode:d}=t.getState();if(!d)return r;const{x:h,y:p}=d.getBoundingClientRect(),y={x:r.x-h,y:r.y-p},g=o.snapGrid??a,x=o.snapToGrid??c;return xo(y,l,x,g)},flowToScreenPosition:r=>{const{transform:o,domNode:l}=t.getState();if(!l)return r;const{x:a,y:c}=l.getBoundingClientRect(),d=ii(r,o);return{x:d.x+a,y:d.y+c}}}),[])};function gg(t,r){const o=[],l=new Map,a=[];for(const c of t)if(c.type==="add"){a.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const d=l.get(c.id);d?d.push(c):l.set(c.id,[c])}for(const c of r){const d=l.get(c.id);if(!d){o.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){o.push({...d[0].item});continue}const h={...c};for(const p of d)q1(p,h);o.push(h)}return a.length&&a.forEach(c=>{c.index!==void 0?o.splice(c.index,0,{...c.item}):o.push({...c.item})}),o}function q1(t,r){switch(t.type){case"select":{r.selected=t.selected;break}case"position":{typeof t.position<"u"&&(r.position=t.position),typeof t.dragging<"u"&&(r.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(r.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(r.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(r.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(r.resizing=t.resizing);break}}}function Z1(t,r){return gg(t,r)}function J1(t,r){return gg(t,r)}function fr(t,r){return{id:t,type:"select",selected:r}}function qr(t,r=new Set,o=!1){const l=[];for(const[a,c]of t){const d=r.has(a);!(c.selected===void 0&&!d)&&c.selected!==d&&(o&&(c.selected=d),l.push(fr(c.id,d)))}return l}function Oh({items:t=[],lookup:r}){var a;const o=[],l=new Map(t.map(c=>[c.id,c]));for(const[c,d]of t.entries()){const h=r.get(d.id),p=((a=h==null?void 0:h.internals)==null?void 0:a.userNode)??h;p!==void 0&&p!==d&&o.push({id:d.id,item:d,type:"replace"}),p===void 0&&o.push({item:d,type:"add",index:c})}for(const[c]of r)l.get(c)===void 0&&o.push({id:c,type:"remove"});return o}function bh(t){return{id:t.id,type:"remove"}}const eS=Bp();function tS(t,r,o={}){return Ow(t,r,{...o,onError:o.onError??eS})}const Fh=t=>kw(t),nS=t=>Op(t);function mg(t){return Y.forwardRef(t)}const yg=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function Hh(t){const[r,o]=Y.useState(BigInt(0)),[l]=Y.useState(()=>rS(()=>o(a=>a+BigInt(1))));return yg(()=>{const a=l.get();a.length&&(t(a),l.reset())},[r]),l}function rS(t){let r=[];return{get:()=>r,reset:()=>{r=[]},push:o=>{r.push(o),t()}}}const vg=Y.createContext(null);function iS({children:t}){const r=be(),o=Y.useCallback(h=>{const{nodes:p=[],setNodes:y,hasDefaultNodes:g,onNodesChange:x,nodeLookup:m,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=r.getState();let M=p;for(const N of h)M=typeof N=="function"?N(M):N;let E=Oh({items:M,lookup:m});for(const N of _.values())E=N(E);g&&y(M),E.length>0?x==null||x(E):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:N,nodes:T,setNodes:k}=r.getState();N&&k(T)})},[]),l=Hh(o),a=Y.useCallback(h=>{const{edges:p=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:x,edgeLookup:m}=r.getState();let S=p;for(const _ of h)S=typeof _=="function"?_(S):_;g?y(S):x&&x(Oh({items:S,lookup:m}))},[]),c=Hh(a),d=Y.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return v.jsx(vg.Provider,{value:d,children:t})}function oS(){const t=Y.useContext(vg);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const sS=t=>!!t.panZoom;function fc(){const t=K1(),r=be(),o=oS(),l=ze(sS),a=Y.useMemo(()=>{const c=x=>r.getState().nodeLookup.get(x),d=x=>{o.nodeQueue.push(x)},h=x=>{o.edgeQueue.push(x)},p=x=>{var N,T;const{nodeLookup:m,nodeOrigin:S}=r.getState(),_=Fh(x)?x:m.get(x.id),M=_.parentId?Wp(_.position,_.measured,_.parentId,m,S):_.position,E={..._,position:M,width:((N=_.measured)==null?void 0:N.width)??_.width,height:((T=_.measured)==null?void 0:T.height)??_.height};return ao(E)},y=(x,m,S={replace:!1})=>{d(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&Fh(E)?E:{...M,...E}}return M}))},g=(x,m,S={replace:!1})=>{h(_=>_.map(M=>{if(M.id===x){const E=typeof m=="function"?m(M):m;return S.replace&&nS(E)?E:{...M,...E}}return M}))};return{getNodes:()=>r.getState().nodes.map(x=>({...x})),getNode:x=>{var m;return(m=c(x))==null?void 0:m.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:x=[]}=r.getState();return x.map(m=>({...m}))},getEdge:x=>r.getState().edgeLookup.get(x),setNodes:d,setEdges:h,addNodes:x=>{const m=Array.isArray(x)?x:[x];o.nodeQueue.push(S=>[...S,...m])},addEdges:x=>{const m=Array.isArray(x)?x:[x];o.edgeQueue.push(S=>[...S,...m])},toObject:()=>{const{nodes:x=[],edges:m=[],transform:S}=r.getState(),[_,M,E]=S;return{nodes:x.map(N=>({...N})),edges:m.map(N=>({...N})),viewport:{x:_,y:M,zoom:E}}},deleteElements:async({nodes:x=[],edges:m=[]})=>{const{nodes:S,edges:_,onNodesDelete:M,onEdgesDelete:E,triggerNodeChanges:N,triggerEdgeChanges:T,onDelete:k,onBeforeDelete:P}=r.getState(),{nodes:b,edges:$}=await Mw({nodesToRemove:x,edgesToRemove:m,nodes:S,edges:_,onBeforeDelete:P}),H=$.length>0,X=b.length>0;if(H){const Q=$.map(bh);E==null||E($),T(Q)}if(X){const Q=b.map(bh);M==null||M(b),N(Q)}return(X||H)&&(k==null||k({nodes:b,edges:$})),{deletedNodes:b,deletedEdges:$}},getIntersectingNodes:(x,m=!0,S)=>{const _=dh(x),M=_?x:p(x),E=S!==void 0;return M?(S||r.getState().nodes).filter(N=>{const T=r.getState().nodeLookup.get(N.id);if(T&&!_&&(N.id===x.id||!T.internals.positionAbsolute))return!1;const k=ao(E?N:T),P=ll(k,M);return m&&P>0||P>=k.width*k.height||P>=M.width*M.height}):[]},isNodeIntersecting:(x,m,S=!0)=>{const M=dh(x)?x:p(x);if(!M)return!1;const E=ll(M,m);return S&&E>0||E>=m.width*m.height||E>=M.width*M.height},updateNode:y,updateNodeData:(x,m,S={replace:!1})=>{y(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},updateEdge:g,updateEdgeData:(x,m,S={replace:!1})=>{g(x,_=>{const M=typeof m=="function"?m(_):m;return S.replace?{..._,data:M}:{..._,data:{..._.data,...M}}},S)},getNodesBounds:x=>{const{nodeLookup:m,nodeOrigin:S}=r.getState();return Ew(x,{nodeLookup:m,nodeOrigin:S})},getHandleConnections:({type:x,id:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}-${x}${m?`-${m}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:x,handleId:m,nodeId:S})=>{var _;return Array.from(((_=r.getState().connectionLookup.get(`${S}${x?m?`-${x}-${m}`:`-${x}`:""}`))==null?void 0:_.values())??[])},fitView:async x=>{const m=r.getState().fitViewResolver??Tw();return r.setState({fitViewQueued:!0,fitViewOptions:x,fitViewResolver:m}),o.nodeQueue.push(S=>[...S]),m.promise}}},[]);return Y.useMemo(()=>({...a,...t,viewportInitialized:l}),[l])}const Vh=t=>t.selected,lS=typeof window<"u"?window:void 0;function aS({deleteKeyCode:t,multiSelectionKeyCode:r}){const o=be(),{deleteElements:l}=fc(),a=co(t,{actInsideInputWithModifier:!1}),c=co(r,{target:lS});Y.useEffect(()=>{if(a){const{edges:d,nodes:h}=o.getState();l({nodes:h.filter(Vh),edges:d.filter(Vh)}),o.setState({nodesSelectionActive:!1})}},[a]),Y.useEffect(()=>{o.setState({multiSelectionActive:c})},[c])}function uS(t){const r=be();Y.useEffect(()=>{const o=()=>{var a,c,d,h;if(!t.current||!(((c=(a=t.current).checkVisibility)==null?void 0:c.call(a))??!0))return!1;const l=sc(t.current);(l.height===0||l.width===0)&&((h=(d=r.getState()).onError)==null||h.call(d,"004",Gt.error004())),r.setState({width:l.width||500,height:l.height||500})};if(t.current){o(),window.addEventListener("resize",o);const l=new ResizeObserver(()=>o());return l.observe(t.current),()=>{window.removeEventListener("resize",o),l&&t.current&&l.unobserve(t.current)}}},[])}const Sl={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function dS({onPaneContextMenu:t,zoomOnScroll:r=!0,zoomOnPinch:o=!0,panOnScroll:l=!1,panActivationKeyPressed:a,panOnScrollSpeed:c=.5,panOnScrollMode:d=gr.Free,zoomOnDoubleClick:h=!0,panOnDrag:p=!0,defaultViewport:y,translateExtent:g,minZoom:x,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:_=!0,children:M,noWheelClassName:E,noPanClassName:N,onViewportChange:T,isControlledViewport:k,paneClickDistance:P,selectionOnDrag:b}){const $=be(),H=Y.useRef(null),{userSelectionActive:X,lib:Q,connectionInProgress:te}=ze(cS,Ue),Z=co(S),ee=Y.useRef();uS(H);const J=Y.useCallback(C=>{T==null||T({x:C[0],y:C[1],zoom:C[2]}),k||$.setState({transform:C})},[T,k]);return Y.useEffect(()=>{if(H.current){ee.current=p1({domNode:H.current,minZoom:x,maxZoom:m,translateExtent:g,viewport:y,onDraggingChange:V=>$.setState(A=>A.paneDragging===V?A:{paneDragging:V}),onPanZoomStart:(V,A)=>{const{onViewportChangeStart:L,onMoveStart:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoom:(V,A)=>{const{onViewportChange:L,onMove:O}=$.getState();O==null||O(V,A),L==null||L(A)},onPanZoomEnd:(V,A)=>{const{onViewportChangeEnd:L,onMoveEnd:O}=$.getState();O==null||O(V,A),L==null||L(A)}});const{x:C,y:B,zoom:F}=ee.current.getViewport();return $.setState({panZoom:ee.current,transform:[C,B,F],domNode:H.current.closest(".react-flow")}),()=>{var V;(V=ee.current)==null||V.destroy()}}},[]),Y.useEffect(()=>{var C;(C=ee.current)==null||C.update({onPaneContextMenu:t,zoomOnScroll:r,zoomOnPinch:o,panOnScroll:l,panActivationKeyPressed:a,panOnScrollSpeed:c,panOnScrollMode:d,zoomOnDoubleClick:h,panOnDrag:p,zoomActivationKeyPressed:Z,preventScrolling:_,noPanClassName:N,userSelectionActive:X,noWheelClassName:E,lib:Q,onTransformChange:J,connectionInProgress:te,selectionOnDrag:b,paneClickDistance:P})},[t,r,o,l,a,c,d,h,p,Z,_,N,X,E,Q,J,te,b,P]),v.jsx("div",{className:"react-flow__renderer",ref:H,style:Sl,children:M})}const fS=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function hS(){const{userSelectionActive:t,userSelectionRect:r}=ze(fS,Ue);return t&&r?v.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const Tu=(t,r)=>o=>{o.target===r.current&&(t==null||t(o))},pS=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function gS({isSelecting:t,selectionKeyPressed:r,selectionMode:o=lo.Full,panOnDrag:l,autoPanOnSelection:a,paneClickDistance:c,selectionOnDrag:d,onSelectionStart:h,onSelectionEnd:p,onPaneClick:y,onPaneContextMenu:g,onPaneScroll:x,onPaneMouseEnter:m,onPaneMouseMove:S,onPaneMouseLeave:_,children:M}){const E=Y.useRef(0),N=be(),{userSelectionActive:T,elementsSelectable:k,dragging:P,panBy:b,autoPanSpeed:$}=ze(pS,Ue),H=k&&(t||T),X=Y.useRef(null),Q=Y.useRef(),te=Y.useRef(new Set),Z=Y.useRef(new Set),ee=Y.useRef(!1),J=Y.useRef(!1),C=Y.useRef({x:0,y:0}),B=Y.useRef(!1),F=G=>{if(J.current||ee.current||N.getState().connection.inProgress){J.current=!1,ee.current=!1;return}y==null||y(G),N.getState().resetSelectedElements(),N.setState({nodesSelectionActive:!1})},V=G=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){G.preventDefault();return}g==null||g(G)},A=x?G=>x(G):void 0,L=G=>{J.current&&(G.stopPropagation(),J.current=!1)},O=G=>{var Le,rt;if(G.pointerType==="touch"&&l!==!1&&!r)return;const{domNode:se,transform:pe}=N.getState();if(Q.current=se==null?void 0:se.getBoundingClientRect(),!Q.current)return;const we=G.target===X.current;if(!we&&!!G.target.closest(".nokey")||!t||!(d&&we||r)||G.button!==0||!G.isPrimary)return;(rt=(Le=G.target)==null?void 0:Le.setPointerCapture)==null||rt.call(Le,G.pointerId),J.current=!1;const{x:Ce,y:je}=Qt(G.nativeEvent,Q.current),Pe=xo({x:Ce,y:je},pe);N.setState({userSelectionRect:{width:0,height:0,startX:Pe.x,startY:Pe.y,x:Ce,y:je}}),we||(G.stopPropagation(),G.preventDefault())};function j(G,se){const{userSelectionRect:pe}=N.getState();if(!pe)return;const{transform:we,nodeLookup:ve,edgeLookup:me,connectionLookup:Ce,triggerNodeChanges:je,triggerEdgeChanges:Pe,defaultEdgeOptions:Le}=N.getState(),rt={x:pe.startX,y:pe.startY},{x:st,y:Ge}=ii(rt,we),Ke={startX:rt.x,startY:rt.y,x:Gq.id)),Z.current=new Set;const _t=(Le==null?void 0:Le.selectable)??!0;for(const q of te.current){const Se=Ce.get(q);if(Se)for(const{edgeId:Ie}of Se.values()){const Je=me.get(Ie);Je&&(Je.selectable??_t)&&Z.current.add(Ie)}}if(!fh(zt,te.current)){const q=qr(ve,te.current,!0);je(q)}if(!fh(St,Z.current)){const q=qr(me,Z.current);Pe(q)}N.setState({userSelectionRect:Ke,userSelectionActive:!0,nodesSelectionActive:!1})}function z(){if(!a||!Q.current)return;const[G,se]=ic(C.current,Q.current,$);b({x:G,y:se}).then(pe=>{if(!J.current||!pe){E.current=requestAnimationFrame(z);return}const{x:we,y:ve}=C.current;j(we,ve),E.current=requestAnimationFrame(z)})}const ne=()=>{cancelAnimationFrame(E.current),E.current=0,B.current=!1};Y.useEffect(()=>()=>ne(),[]);const re=G=>{const{userSelectionRect:se,transform:pe,resetSelectedElements:we}=N.getState();if(!Q.current||!se)return;const{x:ve,y:me}=Qt(G.nativeEvent,Q.current);C.current={x:ve,y:me};const Ce=ii({x:se.startX,y:se.startY},pe);if(!J.current){const je=r?0:c;if(Math.hypot(ve-Ce.x,me-Ce.y)<=je)return;we(),h==null||h(G)}J.current=!0,B.current||(z(),B.current=!0),j(ve,me)},ue=G=>{var se,pe;if(!H){G.target===X.current&&N.getState().connection.inProgress&&(ee.current=!0);return}G.button===0&&((pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),!T&&G.target===X.current&&N.getState().userSelectionRect&&(F==null||F(G)),N.setState({userSelectionActive:!1,userSelectionRect:null}),J.current&&(p==null||p(G),N.setState({nodesSelectionActive:te.current.size>0})),ne())},ce=G=>{var se,pe;(pe=(se=G.target)==null?void 0:se.releasePointerCapture)==null||pe.call(se,G.pointerId),ne()},de=l===!0||Array.isArray(l)&&l.includes(0);return v.jsxs("div",{className:Qe(["react-flow__pane",{draggable:de,dragging:P,selection:t}]),onClick:H?void 0:Tu(F,X),onContextMenu:Tu(V,X),onWheel:Tu(A,X),onPointerEnter:H?void 0:m,onPointerMove:H?re:S,onPointerUp:ue,onPointerCancel:H?ce:void 0,onPointerDownCapture:H?O:void 0,onClickCapture:H?L:void 0,onPointerLeave:_,ref:X,style:Sl,children:[M,v.jsx(hS,{})]})}function Xu({id:t,store:r,unselect:o=!1,nodeRef:l}){const{addSelectedNodes:a,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:h,onError:p}=r.getState(),y=h.get(t);if(!y){p==null||p("012",Gt.error012(t));return}r.setState({nodesSelectionActive:!1}),y.selected?(o||y.selected&&d)&&(c({nodes:[y],edges:[]}),requestAnimationFrame(()=>{var g;return(g=l==null?void 0:l.current)==null?void 0:g.blur()})):a([t])}function xg({nodeRef:t,disabled:r=!1,noDragClassName:o,handleSelector:l,nodeId:a,isSelectable:c,nodeClickDistance:d}){const h=be(),[p,y]=Y.useState(!1),g=Y.useRef();return Y.useEffect(()=>{if(!r)return g.current=e1({getStoreItems:()=>h.getState(),onNodeMouseDown:x=>{Xu({id:x,store:h,nodeRef:t})},onDragStart:()=>{y(!0)},onDragStop:()=>{y(!1)}}),()=>{var x;(x=g.current)==null||x.destroy(),g.current=void 0}},[r,h,t]),Y.useEffect(()=>{r||!t.current||!g.current||g.current.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:c,nodeId:a,nodeClickDistance:d})},[o,l,r,c,t,a,d]),p}const mS=t=>r=>r.selected&&(r.draggable||t&&typeof r.draggable>"u");function wg(){const t=be();return Y.useCallback(o=>{const{nodeExtent:l,snapToGrid:a,snapGrid:c,nodesDraggable:d,onError:h,updateNodePositions:p,nodeLookup:y,nodeOrigin:g}=t.getState(),x=new Map,m=mS(d),S=a?c[0]:5,_=a?c[1]:5,M=o.direction.x*S*o.factor,E=o.direction.y*_*o.factor;for(const[,N]of y){if(!m(N))continue;let T={x:N.internals.positionAbsolute.x+M,y:N.internals.positionAbsolute.y+E};a&&(T=vo(T,c));const{position:k,positionAbsolute:P}=bp({nodeId:N.id,nextPosition:T,nodeLookup:y,nodeExtent:l,nodeOrigin:g,onError:h});N.position=k,N.internals.positionAbsolute=P,x.set(N.id,N)}p(x)},[])}const hc=Y.createContext(null),yS=hc.Provider;hc.Consumer;const Sg=()=>Y.useContext(hc),vS=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),_g=Y.createContext(null);function xS({children:t}){const r=ze(vS,Ue);return v.jsx(_g.Provider,{value:r,children:t})}function wS(){const t=Y.useContext(_g);if(!t)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return t}const SS={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},_S=(t,r,o)=>l=>{const{connectionClickStartHandle:a,connectionMode:c,connection:d}=l,{fromHandle:h,toHandle:p,isValid:y}=d;if(!h&&!a)return SS;const g=(p==null?void 0:p.nodeId)===t&&(p==null?void 0:p.id)===r&&(p==null?void 0:p.type)===o;return{connectingFrom:(h==null?void 0:h.nodeId)===t&&(h==null?void 0:h.id)===r&&(h==null?void 0:h.type)===o,connectingTo:g,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.id)===r&&(a==null?void 0:a.type)===o,isPossibleEndHandle:c===ni.Strict?(h==null?void 0:h.type)!==o:t!==(h==null?void 0:h.nodeId)||r!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!a,valid:g&&y}};function kS({type:t="source",position:r=_e.Top,isValidConnection:o,isConnectable:l=!0,isConnectableStart:a=!0,isConnectableEnd:c=!0,id:d,onConnect:h,children:p,className:y,onMouseDown:g,onTouchStart:x,...m},S){var B,F;const _=d||null,M=t==="target",E=be(),N=Sg(),{connectOnClick:T,noPanClassName:k,rfId:P}=wS(),{connectingFrom:b,connectingTo:$,clickConnecting:H,isPossibleEndHandle:X,connectionInProcess:Q,clickConnectionInProcess:te,valid:Z}=ze(_S(N,_,t),Ue);N||(F=(B=E.getState()).onError)==null||F.call(B,"010",Gt.error010());const ee=V=>{const{defaultEdgeOptions:A,onConnect:L,hasDefaultEdges:O}=E.getState(),j={...A,...V};if(O){const{edges:z,setEdges:ne,onError:re}=E.getState();ne(tS(j,z,{onError:re}))}L==null||L(j),h==null||h(j)},J=V=>{if(!N)return;const A=Qp(V.nativeEvent);if(a&&(A&&V.button===0||!A)){const L=E.getState();Yu.onPointerDown(V.nativeEvent,{handleDomNode:V.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:M,handleId:_,nodeId:N,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...O)=>{var j,z;return(z=(j=E.getState()).onConnectEnd)==null?void 0:z.call(j,...O)},updateConnection:L.updateConnection,onConnect:ee,isValidConnection:o||((...O)=>{var j,z;return((z=(j=E.getState()).isValidConnection)==null?void 0:z.call(j,...O))??!0}),getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}A?g==null||g(V):x==null||x(V)},C=V=>{const{onClickConnectStart:A,onClickConnectEnd:L,connectionClickStartHandle:O,connectionMode:j,isValidConnection:z,lib:ne,rfId:re,nodeLookup:ue,connection:ce}=E.getState();if(!N||!O&&!a)return;if(!O){A==null||A(V.nativeEvent,{nodeId:N,handleId:_,handleType:t}),E.setState({connectionClickStartHandle:{nodeId:N,type:t,id:_}});return}const de=Yp(V.target),G=o||z,{connection:se,isValid:pe}=Yu.isValid(V.nativeEvent,{handle:{nodeId:N,id:_,type:t},connectionMode:j,fromNodeId:O.nodeId,fromHandleId:O.id||null,fromType:O.type,isValidConnection:G,flowId:re,doc:de,lib:ne,nodeLookup:ue});pe&&se&&ee(se);const we=structuredClone(ce);delete we.inProgress,we.toPosition=we.toHandle?we.toHandle.position:null,L==null||L(V,we),E.setState({connectionClickStartHandle:null})};return v.jsx("div",{"data-handleid":_,"data-nodeid":N,"data-handlepos":r,"data-id":`${P}-${N}-${_}-${t}`,className:Qe(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",k,y,{source:!M,target:M,connectable:l,connectablestart:a,connectableend:c,clickconnecting:H,connectingfrom:b,connectingto:$,valid:Z,connectionindicator:l&&(!Q||X)&&(Q||te?c:a)}]),onMouseDown:J,onTouchStart:J,onClick:T?C:void 0,ref:S,...m,children:p})}const al=Y.memo(mg(kS));function ES({data:t,isConnectable:r,sourcePosition:o=_e.Bottom}){return v.jsxs(v.Fragment,{children:[t==null?void 0:t.label,v.jsx(al,{type:"source",position:o,isConnectable:r})]})}function NS({data:t,isConnectable:r,targetPosition:o=_e.Top,sourcePosition:l=_e.Bottom}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label,v.jsx(al,{type:"source",position:l,isConnectable:r})]})}function CS(){return null}function jS({data:t,isConnectable:r,targetPosition:o=_e.Top}){return v.jsxs(v.Fragment,{children:[v.jsx(al,{type:"target",position:o,isConnectable:r}),t==null?void 0:t.label]})}const ul={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Bh={input:ES,default:NS,output:jS,group:CS};function MS(t){var r,o,l,a;return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??((r=t.style)==null?void 0:r.width),height:t.height??t.initialHeight??((o=t.style)==null?void 0:o.height)}:{width:t.width??((l=t.style)==null?void 0:l.width),height:t.height??((a=t.style)==null?void 0:a.height)}}const PS=t=>{const{width:r,height:o,x:l,y:a}=yo(t.nodeLookup,{filter:c=>!!c.selected});return{width:Xt(r)?r:null,height:Xt(o)?o:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${l}px,${a}px)`}};function IS({onSelectionContextMenu:t,noPanClassName:r,disableKeyboardA11y:o}){const l=be(),{width:a,height:c,transformString:d,userSelectionActive:h}=ze(PS,Ue),p=wg(),y=Y.useRef(null);Y.useEffect(()=>{var S;o||(S=y.current)==null||S.focus({preventScroll:!0})},[o]);const g=!h&&a!==null&&c!==null;if(xg({nodeRef:y,disabled:!g}),!g)return null;const x=t?S=>{const _=l.getState().nodes.filter(M=>M.selected);t(S,_)}:void 0,m=S=>{Object.prototype.hasOwnProperty.call(ul,S.key)&&(S.preventDefault(),p({direction:ul[S.key],factor:S.shiftKey?4:1}))};return v.jsx("div",{className:Qe(["react-flow__nodesselection","react-flow__container",r]),style:{transform:d},children:v.jsx("div",{ref:y,className:"react-flow__nodesselection-rect",onContextMenu:x,tabIndex:o?void 0:-1,onKeyDown:o?void 0:m,style:{width:a,height:c}})})}const Uh=typeof window<"u"?window:void 0,TS=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function kg({children:t,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:y,selectionOnDrag:g,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:M,zoomActivationKeyCode:E,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:P,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:X,autoPanOnSelection:Q,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,preventScrolling:C,onSelectionContextMenu:B,noWheelClassName:F,noPanClassName:V,disableKeyboardA11y:A,onViewportChange:L,isControlledViewport:O}){const{nodesSelectionActive:j,userSelectionActive:z}=ze(TS,Ue),ne=co(y,{target:Uh}),re=co(M,{target:Uh}),ue=re||X,ce=re||P,de=g&&ue!==!0,G=ne||z||de;return aS({deleteKeyCode:p,multiSelectionKeyCode:_}),v.jsx(dS,{onPaneContextMenu:c,elementsSelectable:N,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:ce,panActivationKeyPressed:re,panOnScrollSpeed:b,panOnScrollMode:$,zoomOnDoubleClick:H,panOnDrag:!ne&&ue,defaultViewport:te,translateExtent:Z,minZoom:ee,maxZoom:J,zoomActivationKeyCode:E,preventScrolling:C,noWheelClassName:F,noPanClassName:V,onViewportChange:L,isControlledViewport:O,paneClickDistance:h,selectionOnDrag:de,children:v.jsxs(gS,{onSelectionStart:m,onSelectionEnd:S,onPaneClick:r,onPaneMouseEnter:o,onPaneMouseMove:l,onPaneMouseLeave:a,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:ue,autoPanOnSelection:Q,isSelecting:!!G,selectionMode:x,selectionKeyPressed:ne,paneClickDistance:h,selectionOnDrag:de,children:[t,j&&v.jsx(IS,{onSelectionContextMenu:B,noPanClassName:V,disableKeyboardA11y:A})]})})}kg.displayName="FlowRenderer";const zS=Y.memo(kg),RS=t=>r=>t?rc(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(o=>o.id):Array.from(r.nodeLookup.keys());function LS(t){return ze(Y.useCallback(RS(t),[t]),Ue)}const AS=t=>t.updateNodeInternals;function $S(){const t=ze(AS),[r]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(o=>{const l=new Map;o.forEach(a=>{const c=a.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:a.target,force:!0})}),t(l)}));return Y.useEffect(()=>()=>{r==null||r.disconnect()},[r]),r}function DS({node:t,nodeType:r,hasDimensions:o,resizeObserver:l}){const a=be(),c=Y.useRef(null),d=Y.useRef(null),h=Y.useRef(t.sourcePosition),p=Y.useRef(t.targetPosition),y=Y.useRef(r),g=o&&!!t.internals.handleBounds;return Y.useEffect(()=>{c.current&&!t.hidden&&(!g||d.current!==c.current)&&(d.current&&(l==null||l.unobserve(d.current)),l==null||l.observe(c.current),d.current=c.current)},[g,t.hidden]),Y.useEffect(()=>()=>{d.current&&(l==null||l.unobserve(d.current),d.current=null)},[]),Y.useEffect(()=>{if(c.current){const x=y.current!==r,m=h.current!==t.sourcePosition,S=p.current!==t.targetPosition;(x||m||S)&&(y.current=r,h.current=t.sourcePosition,p.current=t.targetPosition,a.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,r,t.sourcePosition,t.targetPosition]),c}function OS({id:t,onClick:r,onMouseEnter:o,onMouseMove:l,onMouseLeave:a,onContextMenu:c,onDoubleClick:d,nodesDraggable:h,elementsSelectable:p,nodesConnectable:y,nodesFocusable:g,resizeObserver:x,noDragClassName:m,noPanClassName:S,disableKeyboardA11y:_,rfId:M,nodeTypes:E,nodeClickDistance:N,onError:T}){const{node:k,internals:P,isParent:b}=ze(G=>{const se=G.nodeLookup.get(t),pe=G.parentLookup.has(t);return{node:se,internals:se.internals,isParent:pe}},Ue);let $=k.type||"default",H=(E==null?void 0:E[$])||Bh[$];H===void 0&&(T==null||T("003",Gt.error003($)),$="default",H=(E==null?void 0:E.default)||Bh.default);const X=!!(k.draggable||h&&typeof k.draggable>"u"),Q=!!(k.selectable||p&&typeof k.selectable>"u"),te=!!(k.connectable||y&&typeof k.connectable>"u"),Z=!!(k.focusable||g&&typeof k.focusable>"u"),ee=be(),J=Up(k),C=DS({node:k,nodeType:$,hasDimensions:J,resizeObserver:x}),B=xg({nodeRef:C,disabled:k.hidden||!X,noDragClassName:m,handleSelector:k.dragHandle,nodeId:t,isSelectable:Q,nodeClickDistance:N}),F=wg();if(k.hidden)return null;const V=qt(k),A=MS(k),L=Q||X||r||o||l||a,O=o?G=>o(G,{...P.userNode}):void 0,j=l?G=>l(G,{...P.userNode}):void 0,z=a?G=>a(G,{...P.userNode}):void 0,ne=c?G=>c(G,{...P.userNode}):void 0,re=d?G=>d(G,{...P.userNode}):void 0,ue=G=>{const{selectNodesOnDrag:se,nodeDragThreshold:pe}=ee.getState();Q&&(!se||!X||pe>0)&&Xu({id:t,store:ee,nodeRef:C}),r&&r(G,{...P.userNode})},ce=G=>{if(!(Xp(G.nativeEvent)||_)){if(Lp.includes(G.key)&&Q){const se=G.key==="Escape";Xu({id:t,store:ee,unselect:se,nodeRef:C})}else if(X&&k.selected&&Object.prototype.hasOwnProperty.call(ul,G.key)){G.preventDefault();const{ariaLabelConfig:se}=ee.getState();ee.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:G.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),F({direction:ul[G.key],factor:G.shiftKey?4:1})}}},de=()=>{var Ce;if(_||!((Ce=C.current)!=null&&Ce.matches(":focus-visible")))return;const{transform:G,width:se,height:pe,autoPanOnNodeFocus:we,setCenter:ve}=ee.getState();if(!we)return;rc(new Map([[t,k]]),{x:0,y:0,width:se,height:pe},G,!0).length>0||ve(k.position.x+V.width/2,k.position.y+V.height/2,{zoom:G[2]})};return v.jsx("div",{className:Qe(["react-flow__node",`react-flow__node-${$}`,{[S]:X},k.className,{selected:k.selected,selectable:Q,parent:b,draggable:X,dragging:B}]),ref:C,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:J?"visible":"hidden",...k.style,...A},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:O,onMouseMove:j,onMouseLeave:z,onContextMenu:ne,onClick:ue,onDoubleClick:re,onKeyDown:Z?ce:void 0,tabIndex:Z?0:void 0,onFocus:Z?de:void 0,role:k.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${fg}-${M}`,"aria-label":k.ariaLabel,...k.domAttributes,children:v.jsx(yS,{value:t,children:v.jsx(H,{id:t,data:k.data,type:$,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:k.selected??!1,selectable:Q,draggable:X,deletable:k.deletable??!0,isConnectable:te,sourcePosition:k.sourcePosition,targetPosition:k.targetPosition,dragging:B,dragHandle:k.dragHandle,zIndex:P.z,parentId:k.parentId,...V})})})}var bS=Y.memo(OS);const FS=t=>({nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Eg(t){const{nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,onError:a}=ze(FS,Ue),c=LS(t.onlyRenderVisibleElements),d=$S();return v.jsx("div",{className:"react-flow__nodes",style:Sl,children:c.map(h=>v.jsx(bS,{id:h,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:d,nodesDraggable:t.nodesDraggable??!0,nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,nodeClickDistance:t.nodeClickDistance,onError:a},h))})}Eg.displayName="NodeRenderer";const HS=Y.memo(Eg);function VS(t){return ze(Y.useCallback(o=>{if(!t)return o.edges.map(a=>a.id);const l=[];if(o.width&&o.height)for(const a of o.edges){const c=o.nodeLookup.get(a.source),d=o.nodeLookup.get(a.target);c&&d&&Aw({sourceNode:c,targetNode:d,width:o.width,height:o.height,transform:o.transform})&&l.push(a.id)}return l},[t]),Ue)}const BS=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t}};return v.jsx("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},US=({color:t="none",strokeWidth:r=1})=>{const o={strokeWidth:r,...t&&{stroke:t,fill:t}};return v.jsx("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Wh={[ol.Arrow]:BS,[ol.ArrowClosed]:US};function WS(t){const r=be();return Y.useMemo(()=>{var a,c;return Object.prototype.hasOwnProperty.call(Wh,t)?Wh[t]:((c=(a=r.getState()).onError)==null||c.call(a,"009",Gt.error009(t)),null)},[t])}const YS=({id:t,type:r,color:o,width:l=12.5,height:a=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:h="auto-start-reverse"})=>{const p=WS(r);return p?v.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${l}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:v.jsx(p,{color:o,strokeWidth:d})}):null},Ng=({defaultColor:t,rfId:r})=>{const o=ze(c=>c.edges),l=ze(c=>c.defaultEdgeOptions),a=Y.useMemo(()=>Bw(o,{id:r,defaultColor:t,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[o,l,r,t]);return a.length?v.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:v.jsx("defs",{children:a.map(c=>v.jsx(YS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Ng.displayName="MarkerDefinitions";var XS=Y.memo(Ng);function Cg({x:t,y:r,label:o,labelStyle:l,labelShowBg:a=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:h=2,children:p,className:y,...g}){const[x,m]=Y.useState({x:1,y:0,width:0,height:0}),S=Qe(["react-flow__edge-textwrapper",y]),_=Y.useRef(null);return Y.useEffect(()=>{if(_.current){const M=_.current.getBBox();m({x:M.x,y:M.y,width:M.width,height:M.height})}},[o]),o?v.jsxs("g",{transform:`translate(${t-x.width/2} ${r-x.height/2})`,className:S,visibility:x.width?"visible":"hidden",...g,children:[a&&v.jsx("rect",{width:x.width+2*d[0],x:-d[0],y:-d[1],height:x.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),v.jsx("text",{className:"react-flow__edge-text",y:x.height/2,dy:"0.3em",ref:_,style:l,children:o}),p]}):null}Cg.displayName="EdgeText";const QS=Y.memo(Cg);function _l({path:t,labelX:r,labelY:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:y=20,...g}){return v.jsxs(v.Fragment,{children:[v.jsx("path",{...g,d:t,fill:"none",className:Qe(["react-flow__edge-path",g.className])}),y?v.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:y,className:"react-flow__edge-interaction"}):null,l&&Xt(r)&&Xt(o)?v.jsx(QS,{x:r,y:o,label:l,labelStyle:a,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Yh({pos:t,x1:r,y1:o,x2:l,y2:a}){return t===_e.Left||t===_e.Right?[.5*(r+l),o]:[r,.5*(o+a)]}function jg({sourceX:t,sourceY:r,sourcePosition:o=_e.Bottom,targetX:l,targetY:a,targetPosition:c=_e.Top}){const[d,h]=Yh({pos:o,x1:t,y1:r,x2:l,y2:a}),[p,y]=Yh({pos:c,x1:l,y1:a,x2:t,y2:r}),[g,x,m,S]=Gp({sourceX:t,sourceY:r,targetX:l,targetY:a,sourceControlX:d,sourceControlY:h,targetControlX:p,targetControlY:y});return[`M${t},${r} C${d},${h} ${p},${y} ${l},${a}`,g,x,m,S]}function Mg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d,targetPosition:h,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})=>{const[T,k,P]=jg({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h}),b=t.isInternal?void 0:r;return v.jsx(_l,{id:b,path:T,labelX:k,labelY:P,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:N})})}const GS=Mg({isInternal:!1}),Pg=Mg({isInternal:!0});GS.displayName="SimpleBezierEdge";Pg.displayName="SimpleBezierEdgeInternal";function Ig(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,sourcePosition:S=_e.Bottom,targetPosition:_=_e.Top,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Bu({sourceX:o,sourceY:l,sourcePosition:S,targetX:a,targetY:c,targetPosition:_,borderRadius:N==null?void 0:N.borderRadius,offset:N==null?void 0:N.offset,stepPosition:N==null?void 0:N.stepPosition}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:M,markerStart:E,interactionWidth:T})})}const Tg=Ig({isInternal:!1}),zg=Ig({isInternal:!0});Tg.displayName="SmoothStepEdge";zg.displayName="SmoothStepEdgeInternal";function Rg(t){return Y.memo(({id:r,...o})=>{var a;const l=t.isInternal?void 0:r;return v.jsx(Tg,{...o,id:l,pathOptions:Y.useMemo(()=>{var c;return{borderRadius:0,offset:(c=o.pathOptions)==null?void 0:c.offset}},[(a=o.pathOptions)==null?void 0:a.offset])})})}const KS=Rg({isInternal:!1}),Lg=Rg({isInternal:!0});KS.displayName="StepEdge";Lg.displayName="StepEdgeInternal";function Ag(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})=>{const[E,N,T]=Zp({sourceX:o,sourceY:l,targetX:a,targetY:c}),k=t.isInternal?void 0:r;return v.jsx(_l,{id:k,path:E,labelX:N,labelY:T,label:d,labelStyle:h,labelShowBg:p,labelBgStyle:y,labelBgPadding:g,labelBgBorderRadius:x,style:m,markerEnd:S,markerStart:_,interactionWidth:M})})}const qS=Ag({isInternal:!1}),$g=Ag({isInternal:!0});qS.displayName="StraightEdge";$g.displayName="StraightEdgeInternal";function Dg(t){return Y.memo(({id:r,sourceX:o,sourceY:l,targetX:a,targetY:c,sourcePosition:d=_e.Bottom,targetPosition:h=_e.Top,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,pathOptions:N,interactionWidth:T})=>{const[k,P,b]=Kp({sourceX:o,sourceY:l,sourcePosition:d,targetX:a,targetY:c,targetPosition:h,curvature:N==null?void 0:N.curvature}),$=t.isInternal?void 0:r;return v.jsx(_l,{id:$,path:k,labelX:P,labelY:b,label:p,labelStyle:y,labelShowBg:g,labelBgStyle:x,labelBgPadding:m,labelBgBorderRadius:S,style:_,markerEnd:M,markerStart:E,interactionWidth:T})})}const ZS=Dg({isInternal:!1}),Og=Dg({isInternal:!0});ZS.displayName="BezierEdge";Og.displayName="BezierEdgeInternal";const Xh={default:Og,straight:$g,step:Lg,smoothstep:zg,simplebezier:Pg},Qh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},JS=(t,r,o)=>o===_e.Left?t-r:o===_e.Right?t+r:t,e_=(t,r,o)=>o===_e.Top?t-r:o===_e.Bottom?t+r:t,Gh="react-flow__edgeupdater";function Kh({position:t,centerX:r,centerY:o,radius:l=10,onMouseDown:a,onMouseEnter:c,onMouseOut:d,type:h}){return v.jsx("circle",{onMouseDown:a,onMouseEnter:c,onMouseOut:d,className:Qe([Gh,`${Gh}-${h}`]),cx:JS(r,l,t),cy:e_(o,l,t),r:l,stroke:"transparent",fill:"transparent"})}function t_({isReconnectable:t,reconnectRadius:r,edge:o,sourceX:l,sourceY:a,targetX:c,targetY:d,sourcePosition:h,targetPosition:p,onReconnect:y,onReconnectStart:g,onReconnectEnd:x,setReconnecting:m,setUpdateHover:S}){const _=be(),M=(P,b)=>{if(P.button!==0)return;const{autoPanOnConnect:$,domNode:H,connectionMode:X,connectionRadius:Q,lib:te,onConnectStart:Z,cancelConnection:ee,nodeLookup:J,rfId:C,panBy:B,updateConnection:F}=_.getState(),V=b.type==="target",A=(j,z)=>{m(!1),x==null||x(j,o,b.type,z)},L=j=>y==null?void 0:y(o,j),O=(j,z)=>{m(!0),g==null||g(P,o,b.type),Z==null||Z(j,z)};Yu.onPointerDown(P.nativeEvent,{autoPanOnConnect:$,connectionMode:X,connectionRadius:Q,domNode:H,handleId:b.id,nodeId:b.nodeId,nodeLookup:J,isTarget:V,edgeUpdaterType:b.type,lib:te,flowId:C,cancelConnection:ee,panBy:B,isValidConnection:(...j)=>{var z,ne;return((ne=(z=_.getState()).isValidConnection)==null?void 0:ne.call(z,...j))??!0},onConnect:L,onConnectStart:O,onConnectEnd:(...j)=>{var z,ne;return(ne=(z=_.getState()).onConnectEnd)==null?void 0:ne.call(z,...j)},onReconnectEnd:A,updateConnection:F,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:P.currentTarget})},E=P=>M(P,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),N=P=>M(P,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),T=()=>S(!0),k=()=>S(!1);return v.jsxs(v.Fragment,{children:[(t===!0||t==="source")&&v.jsx(Kh,{position:h,centerX:l,centerY:a,radius:r,onMouseDown:E,onMouseEnter:T,onMouseOut:k,type:"source"}),(t===!0||t==="target")&&v.jsx(Kh,{position:p,centerX:c,centerY:d,radius:r,onMouseDown:N,onMouseEnter:T,onMouseOut:k,type:"target"})]})}function n_({id:t,edgesFocusable:r,edgesReconnectable:o,elementsSelectable:l,onClick:a,onDoubleClick:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,rfId:_,edgeTypes:M,noPanClassName:E,onError:N,disableKeyboardA11y:T}){let k=ze(ve=>ve.edgeLookup.get(t));const P=ze(ve=>ve.defaultEdgeOptions);k=P?{...P,...k}:k;let b=k.type||"default",$=(M==null?void 0:M[b])||Xh[b];$===void 0&&(N==null||N("011",Gt.error011(b)),b="default",$=(M==null?void 0:M.default)||Xh.default);const H=!!(k.focusable||r&&typeof k.focusable>"u"),X=typeof x<"u"&&(k.reconnectable||o&&typeof k.reconnectable>"u"),Q=!!(k.selectable||l&&typeof k.selectable>"u"),te=Y.useRef(null),[Z,ee]=Y.useState(!1),[J,C]=Y.useState(!1),B=be(),{zIndex:F=k.zIndex,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z}=ze(Y.useCallback(ve=>{const me=ve.nodeLookup.get(k.source),Ce=ve.nodeLookup.get(k.target);if(!me||!Ce)return Qh;const je=Vw({id:t,sourceNode:me,targetNode:Ce,sourceHandle:k.sourceHandle||null,targetHandle:k.targetHandle||null,connectionMode:ve.connectionMode,onError:N}),Pe=Lw({selected:k.selected,zIndex:k.zIndex,sourceNode:me,targetNode:Ce,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode});return{...je||Qh,zIndex:Pe}},[k.source,k.target,k.sourceHandle,k.targetHandle,k.selected,k.zIndex,N]),Ue),ne=Y.useMemo(()=>k.markerStart?`url('#${Uu(k.markerStart,_)}')`:void 0,[k.markerStart,_]),re=Y.useMemo(()=>k.markerEnd?`url('#${Uu(k.markerEnd,_)}')`:void 0,[k.markerEnd,_]);if(k.hidden||V===null||A===null||L===null||O===null)return null;const ue=ve=>{var Pe;const{addSelectedEdges:me,unselectNodesAndEdges:Ce,multiSelectionActive:je}=B.getState();Q&&(B.setState({nodesSelectionActive:!1}),k.selected&&je?(Ce({nodes:[],edges:[k]}),(Pe=te.current)==null||Pe.blur()):me([t])),a&&a(ve,k)},ce=c?ve=>{c(ve,{...k})}:void 0,de=d?ve=>{d(ve,{...k})}:void 0,G=h?ve=>{h(ve,{...k})}:void 0,se=p?ve=>{p(ve,{...k})}:void 0,pe=y?ve=>{y(ve,{...k})}:void 0,we=ve=>{var me;if(!T&&Lp.includes(ve.key)&&Q){const{unselectNodesAndEdges:Ce,addSelectedEdges:je}=B.getState();ve.key==="Escape"?((me=te.current)==null||me.blur(),Ce({edges:[k]})):je([t])}};return v.jsx("svg",{style:{zIndex:F},children:v.jsxs("g",{className:Qe(["react-flow__edge",`react-flow__edge-${b}`,k.className,E,{selected:k.selected,animated:k.animated,inactive:!Q&&!a,updating:Z,selectable:Q}]),onClick:ue,onDoubleClick:ce,onContextMenu:de,onMouseEnter:G,onMouseMove:se,onMouseLeave:pe,onKeyDown:H?we:void 0,tabIndex:H?0:void 0,role:k.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":k.ariaLabel===null?void 0:k.ariaLabel||`Edge from ${k.source} to ${k.target}`,"aria-describedby":H?`${hg}-${_}`:void 0,ref:te,...k.domAttributes,children:[!J&&v.jsx($,{id:t,source:k.source,target:k.target,type:k.type,selected:k.selected,animated:k.animated,selectable:Q,deletable:k.deletable??!0,label:k.label,labelStyle:k.labelStyle,labelShowBg:k.labelShowBg,labelBgStyle:k.labelBgStyle,labelBgPadding:k.labelBgPadding,labelBgBorderRadius:k.labelBgBorderRadius,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,data:k.data,style:k.style,sourceHandleId:k.sourceHandle,targetHandleId:k.targetHandle,markerStart:ne,markerEnd:re,pathOptions:"pathOptions"in k?k.pathOptions:void 0,interactionWidth:k.interactionWidth}),X&&v.jsx(t_,{edge:k,isReconnectable:X,reconnectRadius:g,onReconnect:x,onReconnectStart:m,onReconnectEnd:S,sourceX:V,sourceY:A,targetX:L,targetY:O,sourcePosition:j,targetPosition:z,setUpdateHover:ee,setReconnecting:C})]})})}var r_=Y.memo(n_);const i_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function bg({defaultMarkerColor:t,onlyRenderVisibleElements:r,rfId:o,edgeTypes:l,noPanClassName:a,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:y,onEdgeClick:g,reconnectRadius:x,onEdgeDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:M}){const{edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,onError:k}=ze(i_,Ue),P=VS(r);return v.jsxs("div",{className:"react-flow__edges",children:[v.jsx(XS,{defaultColor:t,rfId:o}),P.map(b=>v.jsx(r_,{id:b,edgesFocusable:E,edgesReconnectable:N,elementsSelectable:T,noPanClassName:a,onReconnect:c,onContextMenu:d,onMouseEnter:h,onMouseMove:p,onMouseLeave:y,onClick:g,reconnectRadius:x,onDoubleClick:m,onReconnectStart:S,onReconnectEnd:_,rfId:o,onError:k,edgeTypes:l,disableKeyboardA11y:M},b))]})}bg.displayName="EdgeRenderer";const o_=Y.memo(bg),qh=t=>`translate(${t[0]}px,${t[1]}px) scale(${t[2]})`;function s_({children:t}){const r=be(),o=Y.useRef(null),[l]=Y.useState(()=>r.getState().transform);return yg(()=>{let a=null;const c=()=>{const d=r.getState().transform;a&&d[0]===a[0]&&d[1]===a[1]&&d[2]===a[2]||(a=d,o.current&&(o.current.style.transform=qh(d)))};return c(),r.subscribe(c)},[r]),v.jsx("div",{ref:o,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:qh(l)},children:t})}function l_(t){const r=fc(),o=Y.useRef(!1);Y.useEffect(()=>{!o.current&&r.viewportInitialized&&t&&(setTimeout(()=>t(r),1),o.current=!0)},[t,r.viewportInitialized])}const a_=t=>{var r;return(r=t.panZoom)==null?void 0:r.syncViewport};function u_(t){const r=ze(a_),o=be();return Y.useEffect(()=>{t&&(r==null||r(t),o.setState({transform:[t.x,t.y,t.zoom]}))},[t,r]),null}function c_(t){return t.connection.inProgress?{...t.connection,to:xo(t.connection.to,t.transform)}:{...t.connection}}function d_(t){return c_}function f_(t){const r=d_();return ze(r,Ue)}const h_=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function p_({containerStyle:t,style:r,type:o,component:l}){const{nodesConnectable:a,width:c,height:d,isValid:h,inProgress:p}=ze(h_,Ue);return!(c&&a&&p)?null:v.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:v.jsx("g",{className:Qe(["react-flow__connection",Dp(h)]),children:v.jsx(Fg,{style:r,type:o,CustomComponent:l,isValid:h})})})}const Fg=({style:t,type:r=Wn.Bezier,CustomComponent:o,isValid:l})=>{const{inProgress:a,from:c,fromNode:d,fromHandle:h,fromPosition:p,to:y,toNode:g,toHandle:x,toPosition:m,pointer:S}=f_();if(!a)return;if(o)return v.jsx(o,{connectionLineType:r,connectionLineStyle:t,fromNode:d,fromHandle:h,fromX:c.x,fromY:c.y,toX:y.x,toY:y.y,fromPosition:p,toPosition:m,connectionStatus:Dp(l),toNode:g,toHandle:x,pointer:S});let _="";const M={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:y.x,targetY:y.y,targetPosition:m};switch(r){case Wn.Bezier:[_]=Kp(M);break;case Wn.SimpleBezier:[_]=jg(M);break;case Wn.Step:[_]=Bu({...M,borderRadius:0});break;case Wn.SmoothStep:[_]=Bu(M);break;default:[_]=Zp(M)}return v.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:t})};Fg.displayName="ConnectionLine";const g_={};function Zh(t=g_){Y.useRef(t),be(),Y.useEffect(()=>{},[t])}function m_(){be(),Y.useRef(!1),Y.useEffect(()=>{},[])}function Hg({nodeTypes:t,edgeTypes:r,onInit:o,onNodeClick:l,onEdgeClick:a,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,onSelectionContextMenu:x,onSelectionStart:m,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:M,connectionLineComponent:E,connectionLineContainerStyle:N,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,deleteKeyCode:X,onlyRenderVisibleElements:Q,elementsSelectable:te,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,preventScrolling:B,defaultMarkerColor:F,zoomOnScroll:V,zoomOnPinch:A,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,zoomOnDoubleClick:z,panOnDrag:ne,autoPanOnSelection:re,onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneScroll:se,onPaneContextMenu:pe,paneClickDistance:we,nodeClickDistance:ve,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,viewport:Ie,onViewportChange:Je,nodesDraggable:wn}){return Zh(t),Zh(r),m_(),l_(o),u_(Ie),v.jsx(zS,{onPaneClick:ue,onPaneMouseEnter:ce,onPaneMouseMove:de,onPaneMouseLeave:G,onPaneContextMenu:pe,onPaneScroll:se,paneClickDistance:we,deleteKeyCode:X,selectionKeyCode:T,selectionOnDrag:k,selectionMode:P,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:b,panActivationKeyCode:$,zoomActivationKeyCode:H,elementsSelectable:te,zoomOnScroll:V,zoomOnPinch:A,zoomOnDoubleClick:z,panOnScroll:L,panOnScrollSpeed:O,panOnScrollMode:j,panOnDrag:ne,autoPanOnSelection:re,defaultViewport:Z,translateExtent:ee,minZoom:J,maxZoom:C,onSelectionContextMenu:x,preventScrolling:B,noDragClassName:Ke,noWheelClassName:zt,noPanClassName:St,disableKeyboardA11y:_t,onViewportChange:Je,isControlledViewport:!!Ie,children:v.jsxs(s_,{children:[v.jsx(o_,{edgeTypes:r,onEdgeClick:a,onEdgeDoubleClick:d,onReconnect:rt,onReconnectStart:st,onReconnectEnd:Ge,onlyRenderVisibleElements:Q,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:je,onEdgeMouseLeave:Pe,reconnectRadius:Le,defaultMarkerColor:F,noPanClassName:St,disableKeyboardA11y:_t,rfId:Se}),v.jsx(p_,{style:M,type:_,component:E,containerStyle:N}),v.jsx("div",{className:"react-flow__edgelabel-renderer"}),v.jsx(HS,{nodeTypes:t,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:Q,noPanClassName:St,noDragClassName:Ke,disableKeyboardA11y:_t,nodeExtent:q,rfId:Se,nodesDraggable:wn}),v.jsx("div",{className:"react-flow__viewport-portal"})]})})}Hg.displayName="GraphView";const y_=Y.memo(Hg),v_=Bp(),Jh=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p=.5,maxZoom:y=2,nodeOrigin:g,nodeExtent:x,zIndexMode:m="basic"}={})=>{const S=new Map,_=new Map,M=new Map,E=new Map,N=l??r??[],T=o??t??[],k=g??[0,0],P=x??so;tg(M,E,N);const{nodesInitialized:b}=Wu(T,S,_,{nodeOrigin:k,nodeExtent:P,zIndexMode:m});let $=[0,0,1];if(d&&a&&c){const H=yo(S,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:X,y:Q,zoom:te}=oc(H,a,c,p,y,(h==null?void 0:h.padding)??.1);$=[X,Q,te]}return{rfId:"1",width:a??0,height:c??0,transform:$,nodes:T,nodesInitialized:b,nodeLookup:S,parentLookup:_,edges:N,edgeLookup:E,connectionLookup:M,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:o!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:p,maxZoom:y,translateExtent:so,nodeExtent:P,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ni.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:k,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:d??!1,fitViewOptions:h,fitViewResolver:null,connection:{...$p},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:v_,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ap,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},x_=({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m})=>T1((S,_)=>{async function M(){const{nodeLookup:E,panZoom:N,fitViewOptions:T,fitViewResolver:k,width:P,height:b,minZoom:$,maxZoom:H}=_();N&&(await jw({nodes:E,width:P,height:b,panZoom:N,minZoom:$,maxZoom:H},T),k==null||k.resolve(!0),S({fitViewResolver:null}))}return{...Jh({nodes:t,edges:r,width:a,height:c,fitView:d,fitViewOptions:h,minZoom:p,maxZoom:y,nodeOrigin:g,nodeExtent:x,defaultNodes:o,defaultEdges:l,zIndexMode:m}),setNodes:E=>{const{nodeLookup:N,parentLookup:T,nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,fitViewQueued:$,zIndexMode:H,nodesSelectionActive:X}=_(),{nodesInitialized:Q,hasSelectedNodes:te}=Wu(E,N,T,{nodeOrigin:k,nodeExtent:P,elevateNodesOnSelect:b,checkEquality:!0,zIndexMode:H}),Z=X&&te;$&&Q?(M(),S({nodes:E,nodesInitialized:Q,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:Z})):S({nodes:E,nodesInitialized:Q,nodesSelectionActive:Z})},setEdges:E=>{const{connectionLookup:N,edgeLookup:T}=_();tg(N,T,E),S({edges:E})},setDefaultNodesAndEdges:(E,N)=>{if(E){const{setNodes:T}=_();T(E),S({hasDefaultNodes:!0})}if(N){const{setEdges:T}=_();T(N),S({hasDefaultEdges:!0})}},updateNodeInternals:E=>{const{triggerNodeChanges:N,nodeLookup:T,parentLookup:k,domNode:P,nodeOrigin:b,nodeExtent:$,debug:H,fitViewQueued:X,zIndexMode:Q}=_(),{changes:te,updatedInternals:Z}=Kw(E,T,k,P,b,$,Q);Z&&(Yw(T,k,{nodeOrigin:b,nodeExtent:$,zIndexMode:Q}),X?(M(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),(te==null?void 0:te.length)>0&&(H&&console.log("React Flow: trigger node changes",te),N==null||N(te)))},updateNodePositions:(E,N=!1)=>{const T=[];let k=[];const{nodeLookup:P,triggerNodeChanges:b,connection:$,updateConnection:H,onNodesChangeMiddlewareMap:X}=_();for(const[Q,te]of E){const Z=P.get(Q),ee=!!(Z!=null&&Z.expandParent&&(Z!=null&&Z.parentId)&&(te!=null&&te.position)),J={id:Q,type:"position",position:ee?{x:Math.max(0,te.position.x),y:Math.max(0,te.position.y)}:te.position,dragging:N};if(Z&&$.inProgress&&$.fromNode.id===Z.id){const C=wr(Z,$.fromHandle,_e.Left,!0);H({...$,from:C})}ee&&Z.parentId&&T.push({id:Q,parentId:Z.parentId,rect:{...te.internals.positionAbsolute,width:te.measured.width??0,height:te.measured.height??0}}),k.push(J)}if(T.length>0){const{parentLookup:Q,nodeOrigin:te}=_(),Z=dc(T,P,Q,te);k.push(...Z)}for(const Q of X.values())k=Q(k);b(k)},triggerNodeChanges:E=>{const{onNodesChange:N,setNodes:T,nodes:k,hasDefaultNodes:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=Z1(E,k);T($)}b&&console.log("React Flow: trigger node changes",E),N==null||N(E)}},triggerEdgeChanges:E=>{const{onEdgesChange:N,setEdges:T,edges:k,hasDefaultEdges:P,debug:b}=_();if(E!=null&&E.length){if(P){const $=J1(E,k);T($)}b&&console.log("React Flow: trigger edge changes",E),N==null||N(E)}},addSelectedNodes:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));P($);return}P(qr(k,new Set([...E]),!0)),b(qr(T))},addSelectedEdges:E=>{const{multiSelectionActive:N,edgeLookup:T,nodeLookup:k,triggerNodeChanges:P,triggerEdgeChanges:b}=_();if(N){const $=E.map(H=>fr(H,!0));b($);return}b(qr(T,new Set([...E]))),P(qr(k,new Set,!0))},unselectNodesAndEdges:({nodes:E,edges:N}={})=>{const{edges:T,nodes:k,nodeLookup:P,triggerNodeChanges:b,triggerEdgeChanges:$}=_(),H=E||k,X=N||T,Q=[];for(const Z of H){if(!Z.selected)continue;const ee=P.get(Z.id);ee&&(ee.selected=!1),Q.push(fr(Z.id,!1))}const te=[];for(const Z of X)Z.selected&&te.push(fr(Z.id,!1));b(Q),$(te)},setMinZoom:E=>{const{panZoom:N,maxZoom:T}=_();N==null||N.setScaleExtent([E,T]),S({minZoom:E})},setMaxZoom:E=>{const{panZoom:N,minZoom:T}=_();N==null||N.setScaleExtent([T,E]),S({maxZoom:E})},setTranslateExtent:E=>{var N;(N=_().panZoom)==null||N.setTranslateExtent(E),S({translateExtent:E})},resetSelectedElements:()=>{const{edges:E,nodes:N,triggerNodeChanges:T,triggerEdgeChanges:k,elementsSelectable:P}=_();if(!P)return;const b=N.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]),$=E.reduce((H,X)=>X.selected?[...H,fr(X.id,!1)]:H,[]);T(b),k($)},setNodeExtent:E=>{const{nodes:N,nodeLookup:T,parentLookup:k,nodeOrigin:P,elevateNodesOnSelect:b,nodeExtent:$,zIndexMode:H}=_();E[0][0]===$[0][0]&&E[0][1]===$[0][1]&&E[1][0]===$[1][0]&&E[1][1]===$[1][1]||(Wu(N,T,k,{nodeOrigin:P,nodeExtent:E,elevateNodesOnSelect:b,checkEquality:!1,zIndexMode:H}),S({nodeExtent:E}))},panBy:E=>{const{transform:N,width:T,height:k,panZoom:P,translateExtent:b}=_();return qw({delta:E,panZoom:P,transform:N,translateExtent:b,width:T,height:k})},setCenter:async(E,N,T)=>{const{width:k,height:P,maxZoom:b,panZoom:$}=_();if(!$)return!1;const H=typeof(T==null?void 0:T.zoom)<"u"?T.zoom:b;return await $.setViewport({x:k/2-E*H,y:P/2-N*H,zoom:H},{duration:T==null?void 0:T.duration,ease:T==null?void 0:T.ease,interpolate:T==null?void 0:T.interpolate}),!0},cancelConnection:()=>{S({connection:{...$p}})},updateConnection:E=>{S({connection:E})},reset:()=>S({...Jh()})}},Object.is);function Vg({initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:l,initialWidth:a,initialHeight:c,initialMinZoom:d,initialMaxZoom:h,initialFitViewOptions:p,fitView:y,nodeOrigin:g,nodeExtent:x,zIndexMode:m,children:S}){const[_]=Y.useState(()=>x_({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,width:a,height:c,fitView:y,minZoom:d,maxZoom:h,fitViewOptions:p,nodeOrigin:g,nodeExtent:x,zIndexMode:m}));return v.jsx(z1,{value:_,children:v.jsx(iS,{children:v.jsx(xS,{children:S})})})}function w_({children:t,nodes:r,edges:o,defaultNodes:l,defaultEdges:a,width:c,height:d,fitView:h,fitViewOptions:p,minZoom:y,maxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S}){return Y.useContext(xl)?v.jsx(v.Fragment,{children:t}):v.jsx(Vg,{initialNodes:r,initialEdges:o,defaultNodes:l,defaultEdges:a,initialWidth:c,initialHeight:d,fitView:h,initialFitViewOptions:p,initialMinZoom:y,initialMaxZoom:g,nodeOrigin:x,nodeExtent:m,zIndexMode:S,children:t})}const S_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function __({nodes:t,edges:r,defaultNodes:o,defaultEdges:l,className:a,nodeTypes:c,edgeTypes:d,onNodeClick:h,onEdgeClick:p,onInit:y,onMove:g,onMoveStart:x,onMoveEnd:m,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onSelectionChange:J,onSelectionDragStart:C,onSelectionDrag:B,onSelectionDragStop:F,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onBeforeDelete:O,connectionMode:j,connectionLineType:z=Wn.Bezier,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,deleteKeyCode:ce="Backspace",selectionKeyCode:de="Shift",selectionOnDrag:G=!1,selectionMode:se=lo.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:we=uo()?"Meta":"Control",zoomActivationKeyCode:ve=uo()?"Meta":"Control",snapToGrid:me,snapGrid:Ce,onlyRenderVisibleElements:je=!1,selectNodesOnDrag:Pe,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,nodeOrigin:Ke=pg,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t=!0,defaultViewport:q=W1,minZoom:Se=.5,maxZoom:Ie=2,translateExtent:Je=so,preventScrolling:wn=!0,nodeExtent:ln,defaultMarkerColor:Xn="#b1b1b7",zoomOnScroll:kl=!0,zoomOnPinch:wo=!0,panOnScroll:So=!1,panOnScrollSpeed:El=.5,panOnScrollMode:si=gr.Free,zoomOnDoubleClick:li=!0,panOnDrag:ai=!0,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo=1,nodeClickDistance:No=0,children:Co,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r=10,onNodesChange:hi,onEdgesChange:Cl,noDragClassName:jl="nodrag",noWheelClassName:Ml="nowheel",noPanClassName:Zt="nopan",fitView:pi,fitViewOptions:gi,connectOnClick:Pl,attributionPosition:Mo,proOptions:Po,defaultEdgeOptions:Io,elevateNodesOnSelect:To=!0,elevateEdgesOnSelect:Il=!1,disableKeyboardA11y:zo=!1,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanOnSelection:mi=!0,autoPanSpeed:Ro,connectionRadius:kr,isValidConnection:zl,onError:Lo,style:Er,id:kt,nodeDragThreshold:Rl,connectionDragThreshold:Et,viewport:Ll,onViewportChange:Al,width:$l,height:Nr,colorMode:Cr="light",debug:qn,onScroll:an,ariaLabelConfig:Dl,zIndexMode:Ao="basic",...yi},$o){const Zn=kt||"1",Jn=G1(Cr),Ol=Y.useCallback(jr=>{jr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),an==null||an(jr)},[an]);return v.jsx("div",{"data-testid":"rf__wrapper",...yi,onScroll:Ol,style:{...Er,...S_},ref:$o,className:Qe(["react-flow",a,Jn]),id:kt,role:"application",children:v.jsxs(w_,{nodes:t,edges:r,width:$l,height:Nr,fitView:pi,fitViewOptions:gi,minZoom:Se,maxZoom:Ie,nodeOrigin:Ke,nodeExtent:ln,zIndexMode:Ao,children:[v.jsx(Q1,{nodes:t,edges:r,defaultNodes:o,defaultEdges:l,onConnect:S,onConnectStart:_,onConnectEnd:M,onClickConnectStart:E,onClickConnectEnd:N,nodesDraggable:Le,autoPanOnNodeFocus:rt,nodesConnectable:st,nodesFocusable:Ge,edgesFocusable:zt,edgesReconnectable:St,elementsSelectable:_t,elevateNodesOnSelect:To,elevateEdgesOnSelect:Il,minZoom:Se,maxZoom:Ie,nodeExtent:ln,onNodesChange:hi,onEdgesChange:Cl,snapToGrid:me,snapGrid:Ce,connectionMode:j,translateExtent:Je,connectOnClick:Pl,defaultEdgeOptions:Io,fitView:pi,fitViewOptions:gi,onNodesDelete:te,onEdgesDelete:Z,onDelete:ee,onNodeDragStart:H,onNodeDrag:X,onNodeDragStop:Q,onSelectionDrag:B,onSelectionDragStart:C,onSelectionDragStop:F,onMove:g,onMoveStart:x,onMoveEnd:m,noPanClassName:Zt,nodeOrigin:Ke,rfId:Zn,autoPanOnConnect:He,autoPanOnNodeDrag:Tl,autoPanSpeed:Ro,onError:Lo,connectionRadius:kr,isValidConnection:zl,selectNodesOnDrag:Pe,nodeDragThreshold:Rl,connectionDragThreshold:Et,onBeforeDelete:O,debug:qn,ariaLabelConfig:Dl,zIndexMode:Ao}),v.jsx(y_,{onInit:y,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:P,onNodeContextMenu:b,onNodeDoubleClick:$,nodeTypes:c,edgeTypes:d,connectionLineType:z,connectionLineStyle:ne,connectionLineComponent:re,connectionLineContainerStyle:ue,selectionKeyCode:de,selectionOnDrag:G,selectionMode:se,deleteKeyCode:ce,multiSelectionKeyCode:we,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:je,defaultViewport:q,translateExtent:Je,minZoom:Se,maxZoom:Ie,preventScrolling:wn,zoomOnScroll:kl,zoomOnPinch:wo,zoomOnDoubleClick:li,panOnScroll:So,panOnScrollSpeed:El,panOnScrollMode:si,panOnDrag:ai,autoPanOnSelection:mi,onPaneClick:ui,onPaneMouseEnter:ci,onPaneMouseMove:Sn,onPaneMouseLeave:_n,onPaneScroll:_o,onPaneContextMenu:ko,paneClickDistance:Eo,nodeClickDistance:No,onSelectionContextMenu:V,onSelectionStart:A,onSelectionEnd:L,onReconnect:di,onReconnectStart:jo,onReconnectEnd:Qn,onEdgeContextMenu:fi,onEdgeDoubleClick:Gn,onEdgeMouseEnter:Nl,onEdgeMouseMove:Kn,onEdgeMouseLeave:Sr,reconnectRadius:_r,defaultMarkerColor:Xn,noDragClassName:jl,noWheelClassName:Ml,noPanClassName:Zt,rfId:Zn,disableKeyboardA11y:zo,nodeExtent:ln,viewport:Ll,onViewportChange:Al,nodesDraggable:Le}),v.jsx(U1,{onSelectionChange:J}),Co,v.jsx(b1,{proOptions:Po,position:Mo}),v.jsx(O1,{rfId:Zn,disableKeyboardA11y:zo})]})})}var k_=mg(__);function E_({dimensions:t,lineWidth:r,variant:o,className:l}){return v.jsx("path",{strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Qe(["react-flow__background-pattern",o,l])})}function N_({radius:t,className:r}){return v.jsx("circle",{cx:t,cy:t,r:t,className:Qe(["react-flow__background-pattern","dots",r])})}var Yn;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Yn||(Yn={}));const C_={[Yn.Dots]:1,[Yn.Lines]:1,[Yn.Cross]:6},j_=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Bg({id:t,variant:r=Yn.Dots,gap:o=20,size:l,lineWidth:a=1,offset:c=0,color:d,bgColor:h,style:p,className:y,patternClassName:g}){const x=Y.useRef(null),{transform:m,patternId:S}=ze(j_,Ue),_=l||C_[r],M=r===Yn.Dots,E=r===Yn.Cross,N=Array.isArray(o)?o:[o,o],T=[N[0]*m[2]||1,N[1]*m[2]||1],k=_*m[2],P=Array.isArray(c)?c:[c,c],b=E?[k,k]:T,$=[P[0]*m[2]+b[0]/2,P[1]*m[2]+b[1]/2],H=`${S}${t||""}`;return v.jsxs("svg",{className:Qe(["react-flow__background",y]),style:{...p,...Sl,"--xy-background-color-props":h,"--xy-background-pattern-color-props":d},ref:x,"data-testid":"rf__background",children:[v.jsx("pattern",{id:H,x:m[0]%T[0],y:m[1]%T[1],width:T[0],height:T[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${$[0]},-${$[1]})`,children:M?v.jsx(N_,{radius:k/2,className:g}):v.jsx(E_,{dimensions:b,lineWidth:a,variant:r,className:g})}),v.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}Bg.displayName="Background";const M_=Y.memo(Bg);function P_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:v.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function I_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:v.jsx("path",{d:"M0 0h32v4.2H0z"})})}function T_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:v.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function z_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function R_(){return v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:v.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ys({children:t,className:r,...o}){return v.jsx("button",{type:"button",className:Qe(["react-flow__controls-button",r]),...o,children:t})}const L_=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function Ug({style:t,showZoom:r=!0,showFitView:o=!0,showInteractive:l=!0,fitViewOptions:a,onZoomIn:c,onZoomOut:d,onFitView:h,onInteractiveChange:p,className:y,children:g,position:x="bottom-left",orientation:m="vertical","aria-label":S}){const _=be(),{isInteractive:M,minZoomReached:E,maxZoomReached:N,ariaLabelConfig:T}=ze(L_,Ue),{zoomIn:k,zoomOut:P,fitView:b}=fc(),$=()=>{k(),c==null||c()},H=()=>{P(),d==null||d()},X=()=>{b(a),h==null||h()},Q=()=>{_.setState({nodesDraggable:!M,nodesConnectable:!M,elementsSelectable:!M}),p==null||p(!M)},te=m==="horizontal"?"horizontal":"vertical";return v.jsxs(wl,{className:Qe(["react-flow__controls",te,y]),position:x,style:t,"data-testid":"rf__controls","aria-label":S??T["controls.ariaLabel"],children:[r&&v.jsxs(v.Fragment,{children:[v.jsx(Ys,{onClick:$,className:"react-flow__controls-zoomin",title:T["controls.zoomIn.ariaLabel"],"aria-label":T["controls.zoomIn.ariaLabel"],disabled:N,children:v.jsx(P_,{})}),v.jsx(Ys,{onClick:H,className:"react-flow__controls-zoomout",title:T["controls.zoomOut.ariaLabel"],"aria-label":T["controls.zoomOut.ariaLabel"],disabled:E,children:v.jsx(I_,{})})]}),o&&v.jsx(Ys,{className:"react-flow__controls-fitview",onClick:X,title:T["controls.fitView.ariaLabel"],"aria-label":T["controls.fitView.ariaLabel"],children:v.jsx(T_,{})}),l&&v.jsx(Ys,{className:"react-flow__controls-interactive",onClick:Q,title:T["controls.interactive.ariaLabel"],"aria-label":T["controls.interactive.ariaLabel"],children:M?v.jsx(R_,{}):v.jsx(z_,{})}),g]})}Ug.displayName="Controls";const A_=Y.memo(Ug);function $_({id:t,x:r,y:o,width:l,height:a,style:c,color:d,strokeColor:h,strokeWidth:p,className:y,borderRadius:g,shapeRendering:x,selected:m,onClick:S}){const{background:_,backgroundColor:M}=c||{},E=d||_||M;return v.jsx("rect",{className:Qe(["react-flow__minimap-node",{selected:m},y]),x:r,y:o,rx:g,ry:g,width:l,height:a,style:{fill:E,stroke:h,strokeWidth:p},shapeRendering:x,onClick:S?N=>S(N,t):void 0})}const D_=Y.memo($_),O_=t=>t.nodes.map(r=>r.id),zu=t=>t instanceof Function?t:()=>t;function b_({nodeStrokeColor:t,nodeColor:r,nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:a,nodeComponent:c=D_,onClick:d}){const h=ze(O_,Ue),p=zu(r),y=zu(t),g=zu(o),x=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return v.jsx(v.Fragment,{children:h.map(m=>v.jsx(H_,{id:m,nodeColorFunc:p,nodeStrokeColorFunc:y,nodeClassNameFunc:g,nodeBorderRadius:l,nodeStrokeWidth:a,NodeComponent:c,onClick:d,shapeRendering:x},m))})}function F_({id:t,nodeColorFunc:r,nodeStrokeColorFunc:o,nodeClassNameFunc:l,nodeBorderRadius:a,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:h,onClick:p}){const{node:y,x:g,y:x,width:m,height:S}=ze(_=>{const M=_.nodeLookup.get(t);if(!M)return{node:void 0,x:0,y:0,width:0,height:0};const E=M.internals.userNode,{x:N,y:T}=M.internals.positionAbsolute,{width:k,height:P}=qt(E);return{node:E,x:N,y:T,width:k,height:P}},Ue);return!y||y.hidden||!Up(y)?null:v.jsx(h,{x:g,y:x,width:m,height:S,style:y.style,selected:!!y.selected,className:l(y),color:r(y),borderRadius:a,strokeColor:o(y),strokeWidth:c,shapeRendering:d,onClick:p,id:y.id})}const H_=Y.memo(F_);var V_=Y.memo(b_);const B_=200,U_=150,W_=t=>!t.hidden,Y_=t=>{const r={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:r,boundingRect:t.nodeLookup.size>0?Hp(yo(t.nodeLookup,{filter:W_}),r):r,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},ep=(t,r)=>t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height,X_=(t,r)=>ep(t.viewBB,r.viewBB)&&ep(t.boundingRect,r.boundingRect)&&t.rfId===r.rfId&&t.panZoom===r.panZoom&&t.translateExtent===r.translateExtent&&t.flowWidth===r.flowWidth&&t.flowHeight===r.flowHeight&&t.ariaLabelConfig===r.ariaLabelConfig,Q_="react-flow__minimap-desc";function Wg({style:t,className:r,nodeStrokeColor:o,nodeColor:l,nodeClassName:a="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:h,bgColor:p,maskColor:y,maskStrokeColor:g,maskStrokeWidth:x,position:m="bottom-right",onClick:S,onNodeClick:_,pannable:M=!1,zoomable:E=!1,ariaLabel:N,inversePan:T,zoomStep:k=1,offsetScale:P=5}){const b=be(),$=Y.useRef(null),{boundingRect:H,viewBB:X,rfId:Q,panZoom:te,translateExtent:Z,flowWidth:ee,flowHeight:J,ariaLabelConfig:C}=ze(Y_,X_),B=(t==null?void 0:t.width)??B_,F=(t==null?void 0:t.height)??U_,V=H.width/B,A=H.height/F,L=Math.max(V,A),O=L*B,j=L*F,z=P*L,ne=H.x-(O-H.width)/2-z,re=H.y-(j-H.height)/2-z,ue=O+z*2,ce=j+z*2,de=`${Q_}-${Q}`,G=Y.useRef(0),se=Y.useRef();G.current=L,Y.useEffect(()=>{if($.current&&te)return se.current=s1({domNode:$.current,panZoom:te,getTransform:()=>b.getState().transform,getViewScale:()=>G.current}),()=>{var me;(me=se.current)==null||me.destroy()}},[te]),Y.useEffect(()=>{var me;(me=se.current)==null||me.update({translateExtent:Z,width:ee,height:J,inversePan:T,pannable:M,zoomStep:k,zoomable:E})},[M,E,T,k,Z,ee,J]);const pe=S?me=>{var Pe;const[Ce,je]=((Pe=se.current)==null?void 0:Pe.pointer(me))||[0,0];S(me,{x:Ce,y:je})}:void 0,we=_?Y.useCallback((me,Ce)=>{const je=b.getState().nodeLookup.get(Ce).internals.userNode;_(me,je)},[]):void 0,ve=N??C["minimap.ariaLabel"];return v.jsx(wl,{position:m,style:{...t,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof x=="number"?x*L:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:Qe(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:v.jsxs("svg",{width:B,height:F,viewBox:`${ne} ${re} ${ue} ${ce}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":de,ref:$,onClick:pe,children:[ve&&v.jsx("title",{id:de,children:ve}),v.jsx(V_,{onClick:we,nodeColor:l,nodeStrokeColor:o,nodeBorderRadius:c,nodeClassName:a,nodeStrokeWidth:d,nodeComponent:h}),v.jsx("path",{className:"react-flow__minimap-mask",d:`M${ne-z},${re-z}h${ue+z*2}v${ce+z*2}h${-ue-z*2}z - M${X.x},${X.y}h${X.width}v${X.height}h${-X.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wg.displayName="MiniMap";const G_=Y.memo(Wg),K_=t=>r=>t?`${Math.max(1/r.transform[2],1)}`:void 0,q_={[oi.Line]:"right",[oi.Handle]:"bottom-right"};function Z_({nodeId:t,position:r,variant:o=oi.Handle,className:l,style:a=void 0,children:c,color:d,minWidth:h=10,minHeight:p=10,maxWidth:y=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:x=!1,resizeDirection:m,autoScale:S=!0,shouldResize:_,onResizeStart:M,onResize:E,onResizeEnd:N}){const T=Sg(),k=typeof t=="string"?t:T,P=be(),b=Y.useRef(null),$=o===oi.Handle,H=ze(Y.useCallback(K_($&&S),[$,S]),Ue),X=Y.useRef(null),Q=r??q_[o];Y.useEffect(()=>{if(!(!b.current||!k))return X.current||(X.current=x1({domNode:b.current,nodeId:k,getStoreItems:()=>{const{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,domNode:F}=P.getState();return{nodeLookup:Z,transform:ee,snapGrid:J,snapToGrid:C,nodeOrigin:B,paneDomNode:F}},onChange:(Z,ee)=>{const{triggerNodeChanges:J,nodeLookup:C,parentLookup:B,nodeOrigin:F}=P.getState(),V=[],A={x:Z.x,y:Z.y},L=C.get(k);if(L&&L.expandParent&&L.parentId){const O=L.origin??F,j=Z.width??L.measured.width??0,z=Z.height??L.measured.height??0,ne={id:L.id,parentId:L.parentId,rect:{width:j,height:z,...Wp({x:Z.x??L.position.x,y:Z.y??L.position.y},{width:j,height:z},L.parentId,C,O)}},re=dc([ne],C,B,F);V.push(...re),A.x=Z.x?Math.max(O[0]*j,Z.x):void 0,A.y=Z.y?Math.max(O[1]*z,Z.y):void 0}if(A.x!==void 0&&A.y!==void 0){const O={id:k,type:"position",position:{...A}};V.push(O)}if(Z.width!==void 0&&Z.height!==void 0){const j={id:k,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};V.push(j)}for(const O of ee){const j={...O,type:"position"};V.push(j)}J(V)},onEnd:({width:Z,height:ee})=>{const J={id:k,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ee}};P.getState().triggerNodeChanges([J])}})),X.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:y,maxHeight:g},keepAspectRatio:x,resizeDirection:m,onResizeStart:M,onResize:E,onResizeEnd:N,shouldResize:_}),()=>{var Z;(Z=X.current)==null||Z.destroy()}},[Q,h,p,y,g,x,M,E,N,_]);const te=Q.split("-");return v.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...te,o,l]),ref:b,style:{...a,scale:H,...d&&{[$?"backgroundColor":"borderColor"]:d}},children:c})}Y.memo(Z_);const J_={"arch.context":0,"django.app":0,"django.route":1,"django.url_name":1,"django.view":2,"django.viewset_action":2,"django.permission":2,"django.serializer":3,"django.serializer_field":4,"django.service":4,"django.model":5,"django.field":6,"django.relation":6,"django.task":7,"django.receiver":7,"django.signal":7,"django.test":7,"django.migration_op":7,"django.admin":7,"openapi.path":8,"react.api_client":9,"react.query_key":10,"react.hook":10,"react.feature":10,"react.route":11,"react.page":11,"react.component":12,"react.form_schema":13,"react.test":13,"react.context":12};function ek(t){return J_[t]??8}function tk(t){const r=new Map;for(const l of t){const a=ek(l.type),c=r.get(a)??[];c.push(l),r.set(a,c)}const o=new Map;for(const[l,a]of r)a.sort((c,d)=>c.name.localeCompare(d.name)),a.forEach((c,d)=>{o.set(c.id,{x:l*260,y:d*108})});return o}const nk={cheap:"var(--edge-cheap)",expensive:"var(--edge-expensive)",critical:"var(--edge-critical)"};function rk({data:t,selected:r}){return v.jsxs("div",{className:r?"lp-node selected":"lp-node",children:[v.jsx("div",{className:"t",children:Qu(t.type)}),v.jsx("div",{className:"n",children:t.name})]})}const ik={load:rk};function Ru({nodes:t,edges:r}){const[o,l]=Y.useState(null),a=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=tk(t),d=t.map(g=>({id:g.id,type:"load",position:c.get(g.id)??{x:0,y:0},data:{name:g.name,type:g.type,file:g.file_path},selected:(o==null?void 0:o.id)===g.id})),h=r.filter(g=>t.some(x=>x.id===g.src)&&t.some(x=>x.id===g.dst)).map(g=>({id:g.id,source:g.src,target:g.dst,animated:!a&&g.weight==="critical",style:{stroke:nk[g.weight]||"var(--edge-cheap)",strokeWidth:g.weight==="critical"?2.4:1.2,strokeDasharray:g.confidence<.8?"6 4":void 0},label:g.type.replaceAll("_"," "),labelStyle:{fill:"var(--muted)",fontSize:10}})),p=Y.useMemo(()=>new Map(t.map(g=>[g.id,g])),[t]),y=(g,x)=>{l(p.get(x.id)??null)};return v.jsxs("div",{style:{flex:1,minHeight:0,position:"relative"},children:[v.jsx(Vg,{children:v.jsxs(k_,{nodes:d,edges:h,nodeTypes:ik,fitView:!0,fitViewOptions:{padding:.2,maxZoom:1.15},minZoom:.25,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,deleteKeyCode:null,onNodeClick:y,onPaneClick:()=>l(null),proOptions:{hideAttribution:!1},"data-testid":"impact-graph",children:[v.jsx(M_,{}),v.jsx(G_,{pannable:!0,zoomable:!0}),v.jsx(A_,{})]})}),o?v.jsxs("aside",{className:"inspector","data-testid":"graph-inspector",children:[v.jsx("div",{className:"t",children:Qu(o.type)}),v.jsx("div",{className:"n",children:o.name}),o.context?v.jsx("div",{className:"muted",children:o.context}):null,o.file_path?v.jsxs("div",{className:"file",children:[o.file_path,o.start_line?`:${o.start_line}`:""]}):null,v.jsx("div",{className:"muted",children:o.qualified_name})]}):null]})}const cl=[{id:"obsidian",label:"Obsidian",group:"dark"},{id:"nord",label:"Nord",group:"dark"},{id:"solarized-dark",label:"Solarized Dark",group:"dark"},{id:"forest",label:"Forest",group:"dark"},{id:"rose",label:"Rose Pine",group:"dark"},{id:"amber",label:"Midnight Amber",group:"dark"},{id:"volcano",label:"Volcano",group:"dark"},{id:"lavender",label:"Lavender",group:"dark"},{id:"paper",label:"Paper",group:"light"},{id:"solarized-light",label:"Solarized Light",group:"light"},{id:"seafoam",label:"Seafoam",group:"light"},{id:"high-contrast",label:"High Contrast",group:"light"}],ok="obsidian",Yg="loadpath.theme";function sk(t){return cl.some(r=>r.id===t)}function Xg(){try{const t=localStorage.getItem(Yg)||"";if(sk(t))return t}catch{}return ok}function lk(t){var r;return((r=cl.find(o=>o.id===t))==null?void 0:r.group)==="light"?"light":"dark"}function Qg(t){document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=lk(t);try{localStorage.setItem(Yg,t)}catch{}}const tp=[{id:"review",label:"Review",testId:"tab-review",shortcut:"1",icon:b0},{id:"architecture",label:"Architecture",testId:"tab-architecture",shortcut:"2",icon:F0},{id:"graph",label:"Impact graph",testId:"tab-graph",shortcut:"3",icon:H0},{id:"prs",label:"Pull requests",testId:"tab-prs",shortcut:"4",icon:V0},{id:"settings",label:"Settings",testId:"tab-settings",shortcut:"5",icon:B0}];function ak(){var Ge,Ke,zt,St,_t;const[t,r]=Y.useState("review"),[o,l]=Y.useState(localStorage.getItem("loadpath.repo")||""),[a,c]=Y.useState(localStorage.getItem("loadpath.base")||"HEAD~1"),[d,h]=Y.useState(localStorage.getItem("loadpath.head")||"HEAD"),[p,y]=Y.useState(null),[g,x]=Y.useState(null),[m,S]=Y.useState([]),[_,M]=Y.useState("review"),[E,N]=Y.useState(""),[T,k]=Y.useState(""),[P,b]=Y.useState(""),[$,H]=Y.useState({}),[X,Q]=Y.useState([]),[te,Z]=Y.useState(localStorage.getItem("loadpath.scmRepo")||""),[ee,J]=Y.useState(localStorage.getItem("loadpath.provider")||"github"),[C,B]=Y.useState(localStorage.getItem("loadpath.prNumber")||""),[F,V]=Y.useState(""),[A,L]=Y.useState(Xg),O=Y.useRef(o);O.current=o;const j=q=>{L(q),Qg(q)};Y.useEffect(()=>{xt.settings().then(H).catch(()=>{}),xt.repos().then(q=>S(q.repos)).catch(()=>{})},[]),Y.useEffect(()=>{if(t!=="architecture"||!o)return;const q=o;let Se=!1;return xt.architecture(q).then(Ie=>{!Se&&O.current===q&&x(Ie)}).catch(()=>{}),()=>{Se=!0}},[t,o]);const z=q=>{l(q),localStorage.setItem("loadpath.repo",q)},ne=(q,Se)=>{c(q),h(Se),localStorage.setItem("loadpath.base",q),localStorage.setItem("loadpath.head",Se)},re=(q,Se,Ie)=>{J(q),Z(Se),localStorage.setItem("loadpath.provider",q),localStorage.setItem("loadpath.scmRepo",Se),Ie!==void 0&&(B(Ie),localStorage.setItem("loadpath.prNumber",Ie))},ue=async(q=o)=>{if(!q)return null;const Se=await xt.architecture(q);return O.current===q&&x(Se),Se},ce=async()=>{N(""),b(""),k("Tracing load path…"),z(o),ne(a,d);try{const q=await xt.review(o,a,d,!0);y(q),M("review"),r("review"),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{}),await ue(o)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},de=async(q=!0)=>{N(""),b(""),k(q?"Indexing…":"Full reindex…"),z(o);try{await xt.index(o,q);const Se=await ue(o);await xt.repos().then(Ie=>S(Ie.repos)).catch(()=>{}),Se!=null&&Se.indexed&&(M("architecture"),r("architecture"))}catch(Se){N(Se instanceof Error?Se.message:String(Se))}finally{k("")}},G=async()=>{N(""),b(""),k("Detecting layout…"),z(o);try{const q=await xt.init(o);b(q.message),await xt.repos().then(Se=>S(Se.repos)).catch(()=>{})}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},se=async()=>{if(p!=null&&p.markdown)try{await navigator.clipboard.writeText(p.markdown),b("Copied markdown brief")}catch(q){N(q instanceof Error?q.message:String(q))}},pe=async()=>{if(!(p!=null&&p.markdown)||!te||!C){N("Pick a pull request first (Pull requests tab), then post the brief.");return}k("Posting Loadpath brief…");try{const q=await xt.postComment(ee,te,Number(C),p.markdown);b(q.updated?"Updated the Loadpath PR comment":"Posted the Loadpath PR comment")}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},we=async()=>{N(""),k("Fetching pull requests…");try{const q=await xt.prs(ee,te);Q(q.pull_requests)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}},ve=async q=>{q.preventDefault();const Se=new FormData(q.currentTarget),Ie={github_token:String(Se.get("github_token")||""),bitbucket_token:String(Se.get("bitbucket_token")||""),bitbucket_username:String(Se.get("bitbucket_username")||""),ai_provider:String(Se.get("ai_provider")||"none"),ai_api_key:String(Se.get("ai_api_key")||""),ai_model:String(Se.get("ai_model")||""),ai_base_url:String(Se.get("ai_base_url")||""),workspaces:m.length?m.map(Je=>({path:Je.path,name:Je.name})):o?[{path:o,name:O0(o)}]:[]};H(await xt.saveSettings(Ie)),b("Settings saved on this machine")},me=async()=>{if(p){k("Residual analysis…");try{const q=await xt.residual(p);V(q.note)}catch(q){N(q instanceof Error?q.message:String(q))}finally{k("")}}},Ce=Y.useRef(ce);Ce.current=ce;const je=Y.useRef(t);je.current=t,Y.useEffect(()=>{const q=Se=>{const Ie=Se.target;if(Ie&&(Ie.tagName==="INPUT"||Ie.tagName==="TEXTAREA"||Ie.tagName==="SELECT"||Ie.isContentEditable)){Se.key==="Escape"&&Ie.blur();return}if(Se.key==="Escape"){N(""),b("");return}const Je=tp.find(wn=>wn.shortcut===Se.key);if(Je&&r(Je.id),(Se.metaKey||Se.ctrlKey)&&Se.key==="Enter"){if(je.current==="settings"||je.current==="prs")return;Se.preventDefault(),Ce.current()}};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[]);const Pe=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.nodes)??[]:(p==null?void 0:p.nodes)??[],[_,g,p]),Le=Y.useMemo(()=>_==="architecture"?(g==null?void 0:g.edges)??[]:(p==null?void 0:p.edges)??[],[_,g,p]),rt=p!=null&&p.index?`${p.index.counts.nodes} nodes · ${p.index.counts.edges} edges`:g!=null&&g.indexed?`${g.counts.nodes} nodes · ${g.counts.edges} edges`:"Not indexed",st=((p==null?void 0:p.findings)||[]).filter(q=>!q.waived);return v.jsxs("div",{className:"app",children:[v.jsx("a",{className:"skip",href:"#main",children:"Skip to content"}),v.jsxs("nav",{className:"rail","data-testid":"rail","aria-label":"Primary",children:[v.jsxs("div",{className:"brand",children:[v.jsx("div",{className:"brand-mark",children:"Loadpath"}),v.jsx("div",{className:"brand-sub",children:"Load-path review"})]}),tp.map(q=>{const Se=q.icon,Ie=t===q.id;return v.jsxs("button",{type:"button","data-testid":q.testId,className:Ie?"nav-item active":"nav-item","aria-current":Ie?"page":void 0,onClick:()=>r(q.id),children:[v.jsx(Se,{}),v.jsx("span",{children:q.label})]},q.id)}),v.jsxs("div",{className:"theme-pick",children:[v.jsx("label",{htmlFor:"theme-select",children:"Theme"}),v.jsx("select",{id:"theme-select","data-testid":"theme-select",value:A,onChange:q=>j(q.target.value),children:cl.map(q=>v.jsx("option",{value:q.id,children:q.label},q.id))})]}),v.jsxs("div",{className:"rail-foot",children:[v.jsx("div",{className:"muted",role:"status",children:T||rt}),v.jsxs("div",{className:"kbd-hint",children:[v.jsx("kbd",{children:"1"}),"–",v.jsx("kbd",{children:"5"})," tabs · ",v.jsx("kbd",{children:"Ctrl"}),"+",v.jsx("kbd",{children:"Enter"})," review"]})]})]}),v.jsxs("div",{className:"main",id:"main",children:[T?v.jsxs("div",{className:"progress",role:"status","aria-live":"polite","aria-busy":"true",children:[v.jsx("i",{}),v.jsx("span",{className:"sr-only",children:T})]}):null,v.jsxs("header",{className:"topbar","data-testid":"topbar",children:[m.length>0?v.jsxs("label",{className:"field workspace",children:[v.jsx("span",{children:"Workspace"}),v.jsxs("select",{"data-testid":"workspace-select",value:m.some(q=>q.path===o)?o:"",onChange:q=>{q.target.value&&z(q.target.value)},children:[v.jsx("option",{value:"",children:"Indexed repos…"}),m.map(q=>v.jsxs("option",{value:q.path,children:[q.name,q.indexed?` (${q.counts.nodes})`:""]},q.path))]})]}):null,v.jsxs("label",{className:"field path",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"repo-path",placeholder:"Local monorepo path",value:o,onChange:q=>l(q.target.value),spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Base"}),v.jsx("input",{"data-testid":"base-ref",value:a,onChange:q=>ne(q.target.value,d),placeholder:"base",spellCheck:!1})]}),v.jsxs("label",{className:"field ref",children:[v.jsx("span",{children:"Head"}),v.jsx("input",{"data-testid":"head-ref",value:d,onChange:q=>ne(a,q.target.value),placeholder:"head",spellCheck:!1})]}),v.jsxs("div",{className:"topbar-actions",children:[v.jsx("button",{type:"button","data-testid":"btn-init",disabled:!!T,onClick:G,children:"Draft config"}),v.jsx("button",{type:"button","data-testid":"btn-index",disabled:!!T,onClick:()=>de(!0),children:"Index"}),v.jsx("button",{type:"button","data-testid":"btn-review",className:"btn primary",disabled:!!T,onClick:ce,children:"Review"})]})]}),v.jsxs("div",{className:"alerts",children:[E?v.jsxs("div",{className:"error",children:[v.jsx("span",{children:E}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>N(""),"aria-label":"Dismiss error",children:"×"})]}):null,P?v.jsxs("div",{className:"banner","data-testid":"status-note",children:[v.jsx("span",{children:P}),v.jsx("button",{type:"button",className:"dismiss",onClick:()=>b(""),"aria-label":"Dismiss",children:"×"})]}):null,((Ge=p==null?void 0:p.index)!=null&&Ge.stale||g!=null&&g.stale)&&(t==="review"||t==="architecture")?v.jsx("div",{className:"banner stale","data-testid":"index-stale",children:"Index is stale — files changed since the last extract. Index again before trusting this walk."}):null,((Ke=p==null?void 0:p.index)==null?void 0:Ke.django_boot)==="failed"||(g==null?void 0:g.django_boot)==="failed"?v.jsx("div",{className:"banner warn","data-testid":"django-boot-failed",children:((zt=p==null?void 0:p.index)==null?void 0:zt.django_boot_detail)||(g==null?void 0:g.django_boot_detail)||"django.setup() failed"}):null,(St=p==null?void 0:p.workspace)!=null&&St.dirty_overlaps_review&&t==="review"?v.jsxs("div",{className:"banner warn","data-testid":"dirty-tree",children:["Uncommitted files overlap this review: ",(p.workspace.dirty_overlap||[]).slice(0,6).join(", ")]}):null]}),v.jsxs("div",{className:"stage",children:[t==="review"&&v.jsxs("div",{className:"content","data-testid":"review-layout",children:[v.jsx("aside",{className:"brief","data-testid":"brief",children:p?v.jsx(uk,{review:p,findings:st,aiNote:F,busy:!!T,onAskAi:me,onCopy:se,onPost:pe}):v.jsxs("div",{className:"empty","data-testid":"review-empty",children:[v.jsx("h2",{children:"Trace the force of this diff"}),v.jsx("p",{children:"The graph is the architecture. The brief is where this change travels — not a hunk list."}),v.jsxs("ol",{children:[v.jsx("li",{children:"Point at a Django + React monorepo, or pick an indexed workspace."}),v.jsxs("li",{children:["Index it. Missing ",v.jsx("code",{children:"loadpath.yml"})," is drafted from ",v.jsx("code",{children:"manage.py"})," and"," ",v.jsx("code",{children:"src/features"}),"."]}),v.jsx("li",{children:"Review a git range, or open a pull request so base/head become a three-dot merge-base."})]})]})}),v.jsx("div",{className:"graph-wrap","data-testid":"review-graph",children:p?v.jsx(Ru,{nodes:p.nodes,edges:p.edges}):null})]}),t==="architecture"&&v.jsxs("div",{className:"content","data-testid":"architecture-panel",children:[v.jsx("aside",{className:"brief","data-testid":"architecture-brief",children:g!=null&&g.indexed?v.jsx(ck,{architecture:g,busy:!!T,onReindex:()=>de(!1),onReview:ce}):v.jsx("p",{className:"muted","data-testid":"architecture-empty",children:"Index this repo to build the architecture graph. Review then walks that same graph for a git range — it does not start from a hunk list."})}),v.jsx("div",{className:"graph-wrap","data-testid":"architecture-graph",children:g!=null&&g.indexed?v.jsx(Ru,{nodes:g.nodes,edges:g.edges}):null})]}),t==="graph"&&v.jsxs("div",{className:"graph-wrap","data-testid":"graph-full",style:{height:"100%"},children:[v.jsxs("div",{className:"graph-modes",children:[v.jsxs("div",{className:"seg",role:"tablist","aria-label":"Graph scope",children:[v.jsx("button",{type:"button",role:"tab","aria-selected":_==="review","data-testid":"graph-mode-review",className:_==="review"?"active":"",onClick:()=>M("review"),children:"This review"}),v.jsx("button",{type:"button",role:"tab","aria-selected":_==="architecture","data-testid":"graph-mode-architecture",className:_==="architecture"?"active":"",onClick:()=>M("architecture"),children:"Indexed architecture"})]}),v.jsxs("div",{className:"legend","aria-hidden":"true",children:[v.jsxs("span",{children:[v.jsx("i",{})," cheap"]}),v.jsxs("span",{children:[v.jsx("i",{className:"exp"})," expensive"]}),v.jsxs("span",{children:[v.jsx("i",{className:"crit"})," critical"]}),v.jsxs("span",{children:[v.jsx("i",{className:"dash"})," inferred"]})]})]}),Pe.length?v.jsx(Ru,{nodes:Pe,edges:Le}):v.jsx("p",{className:"empty",children:"Index the repo or run a review first. Click a node to inspect it."})]}),t==="prs"&&v.jsxs("div",{className:"pr-list","data-testid":"pr-list",children:[v.jsxs("div",{className:"pr-toolbar",children:[v.jsxs("label",{className:"field provider",children:[v.jsx("span",{children:"Provider"}),v.jsxs("select",{"data-testid":"pr-provider",value:ee,onChange:q=>re(q.target.value,te,C),children:[v.jsx("option",{value:"github",children:"GitHub"}),v.jsx("option",{value:"bitbucket",children:"Bitbucket"})]})]}),v.jsxs("label",{className:"field",children:[v.jsx("span",{children:"Repository"}),v.jsx("input",{"data-testid":"pr-repo",placeholder:"owner/repo",value:te,onChange:q=>re(ee,q.target.value,C),spellCheck:!1})]}),v.jsx("button",{type:"button","data-testid":"btn-list-prs",className:"btn",disabled:!!T,onClick:we,children:"List PRs"})]}),X.length===0?v.jsxs("div",{className:"empty",children:[v.jsx("h2",{children:"No pull requests loaded"}),v.jsx("p",{children:"Enter an owner/repo, then list open PRs. Reviewing a PR fills base and head from its SHAs."})]}):X.map(q=>v.jsxs("article",{className:"pr","data-testid":`pr-${q.number}`,children:[v.jsxs("h3",{children:["#",q.number," ",q.title]}),v.jsxs("div",{className:"pr-meta muted",children:[v.jsx("span",{className:`chip ${q.draft?"":"open"}`,children:q.draft?"draft":q.state}),v.jsx("span",{children:q.author}),v.jsxs("span",{children:[q.source_branch," → ",q.target_branch]})]}),v.jsxs("div",{className:"pr-actions",children:[v.jsxs("a",{href:q.url,target:"_blank",rel:"noreferrer",children:["Open on ",q.provider]}),v.jsx("button",{type:"button",className:"btn primary",onClick:()=>{ne(q.base_sha||q.target_branch,q.head_sha||q.source_branch),re(q.provider,q.repo,String(q.number)),r("review")},children:"Review this range"})]})]},`${q.provider}-${q.number}`))]}),t==="settings"&&v.jsxs("form",{className:"settings","data-testid":"settings-form",onSubmit:ve,children:[v.jsxs("div",{children:[v.jsx("h1",{children:"Settings"}),v.jsx("p",{className:"muted",children:"Tokens stay on this machine in ~/.loadpath/settings.json. AI runs only on residual uncertainty the graph could not close."})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Appearance"}),v.jsx("p",{className:"muted",children:"Local to this browser. High contrast is a first-class theme, not an afterthought."}),v.jsx("div",{className:"theme-grid","data-testid":"theme-grid",children:cl.map(q=>v.jsxs("button",{type:"button",className:A===q.id?"theme-swatch active":"theme-swatch","data-testid":`theme-${q.id}`,onClick:()=>j(q.id),children:[v.jsx("div",{className:"name",children:q.label}),v.jsx("div",{className:"group",children:q.group})]},q.id))})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Source control"}),v.jsx("label",{htmlFor:"github_token",children:"GitHub token"}),v.jsx("input",{id:"github_token",name:"github_token",type:"password",placeholder:"ghp_…",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_token",children:"Bitbucket token"}),v.jsx("input",{id:"bitbucket_token",name:"bitbucket_token",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"bitbucket_username",children:"Bitbucket username (app passwords)"}),v.jsx("input",{id:"bitbucket_username",name:"bitbucket_username",defaultValue:String($.bitbucket_username||"")})]}),v.jsxs("section",{className:"settings-card",children:[v.jsx("h2",{children:"Residual AI"}),v.jsx("label",{htmlFor:"ai_provider",children:"Provider"}),v.jsxs("select",{id:"ai_provider",name:"ai_provider",defaultValue:String(((_t=$.ai)==null?void 0:_t.provider)||"none"),children:[v.jsx("option",{value:"none",children:"none (graph only)"}),v.jsx("option",{value:"anthropic",children:"Anthropic"}),v.jsx("option",{value:"openai",children:"OpenAI"}),v.jsx("option",{value:"grok",children:"Grok / xAI"}),v.jsx("option",{value:"deepseek",children:"DeepSeek"}),v.jsx("option",{value:"cursor",children:"Cursor-compatible (OpenAI protocol)"}),v.jsx("option",{value:"ollama",children:"Ollama local"})]}),v.jsx("label",{htmlFor:"ai_api_key",children:"API key"}),v.jsx("input",{id:"ai_api_key",name:"ai_api_key",type:"password",autoComplete:"off"}),v.jsx("label",{htmlFor:"ai_model",children:"Model"}),v.jsx("input",{id:"ai_model",name:"ai_model",placeholder:"optional override"}),v.jsx("label",{htmlFor:"ai_base_url",children:"Base URL"}),v.jsx("input",{id:"ai_base_url",name:"ai_base_url",placeholder:"optional, OpenAI-compatible"}),v.jsx("button",{className:"btn primary",type:"submit",children:"Save"})]})]})]})]})]})}function uk({review:t,findings:r,aiNote:o,busy:l,onAskAi:a,onCopy:c,onPost:d}){var p,y,g,x,m,S,_,M;const h=[...new Set(t.confidence.reasons||[])];return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:`merge-box ${t.confidence.level}`,children:[v.jsxs("div",{className:`level ${t.confidence.level}`,children:[t.confidence.level.toUpperCase()," — ",t.title]}),h.length?v.jsx("ul",{className:"reasons",children:h.map(E=>v.jsx("li",{children:E},E))}):null,t.low_risk?v.jsx("span",{className:"chip",children:"low-risk"}):null,t.change_kinds.map(E=>v.jsx("span",{className:"chip",children:$0(E)},E))]}),v.jsxs("div",{className:"metrics",children:[v.jsxs("div",{className:"metric",children:[v.jsxs("div",{className:"n",children:[t.confidence.covered_sinks,"/",t.confidence.sinks]}),v.jsx("div",{className:"l",children:"Sinks tested"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:r.length}),v.jsx("div",{className:"l",children:"Findings"})]}),v.jsxs("div",{className:"metric",children:[v.jsx("div",{className:"n",children:t.residuals.length}),v.jsx("div",{className:"l",children:"Residuals"})]})]}),v.jsx("pre",{className:"headline",children:t.headline}),t.index?v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Index ",v.jsx("span",{className:"count",children:t.index.counts.nodes})]}),v.jsxs("div",{className:"muted",children:["Walked ",t.index.counts.nodes," nodes / ",t.index.counts.edges," edges",t.index.reindex_skipped?" from an unchanged index":t.index.reindexed?" after an incremental refresh":" from the existing index",t.index.django_boot&&t.index.django_boot!=="off"?` · Django boot ${t.index.django_boot}`:"",(p=t.workspace)!=null&&p.three_dot?" · three-dot range":""]})]}):null,v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Read this ",v.jsx("span",{className:"count",children:t.read_order.length})]}),t.read_order.map((E,N)=>v.jsxs("div",{className:"read-item",children:[v.jsxs("span",{className:"file",children:[N+1,". ",E.path]}),v.jsx("div",{className:"why",children:E.why})]},E.path))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Clusters ",v.jsx("span",{className:"count",children:t.clusters.length})]}),t.clusters.map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:E.title})," — ",E.files.join(", ")]},E.id))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Architecture ",v.jsx("span",{className:"count",children:r.length})]}),r.length===0?v.jsx("div",{className:"muted",children:t.architecture_note}):r.map(E=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${E.severity}`,children:E.severity}),E.message]},E.rule+E.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Residual ",v.jsx("span",{className:"count",children:t.residuals.length})]}),v.jsx("p",{className:"muted",children:"AI is only used here, on what the graph could not close."}),t.residuals.map(E=>v.jsx("div",{className:"residual muted",children:E},E))]}),(g=(y=t.evolution)==null?void 0:y.notes)!=null&&g.length||(m=(x=t.evolution)==null?void 0:x.hotspots)!=null&&m.some(E=>E.commits)?v.jsxs("details",{className:"section",children:[v.jsx("summary",{children:"Churn & coupling"}),(((S=t.evolution)==null?void 0:S.notes)||[]).map(E=>v.jsx("div",{className:"muted",children:E},E)),(((_=t.evolution)==null?void 0:_.hotspots)||[]).filter(E=>E.commits).slice(0,6).map(E=>v.jsxs("div",{className:"muted",children:[v.jsx("span",{className:"file",children:E.path})," — ",E.commits," commits, bus factor ",E.bus_factor]},E.path))]}):null,v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:l,onClick:a,children:"Ask configured model"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-copy-markdown",onClick:c,children:"Copy markdown"}),v.jsx("button",{type:"button",className:"btn","data-testid":"btn-post-comment",onClick:d,children:"Post to PR"})]}),o?v.jsx("pre",{className:"headline",children:o}):null,v.jsx("div",{className:"kicker",children:"Reviewers"}),v.jsx("div",{className:"muted",children:t.suggested_reviewers.join(", ")||"—"}),(M=t.knowledge_owners)!=null&&M.length?v.jsxs("div",{className:"muted",children:["Knowledge: ",t.knowledge_owners.join(", ")]}):null]})}function ck({architecture:t,busy:r,onReindex:o,onReview:l}){const a=t.findings.filter(c=>!c.waived);return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"merge-box high",children:[v.jsxs("div",{className:"level high",children:["INDEXED — ",t.counts.nodes," nodes"]}),v.jsxs("div",{className:"muted",style:{marginTop:8},children:[t.indexed_at?`Last index ${D0(t.indexed_at)}`:"Indexed",t.incremental?" · incremental":" · full",t.stale?" · stale":"",t.django_boot&&t.django_boot!=="off"?` · Django boot ${t.django_boot}`:""]}),v.jsxs("span",{className:"chip",children:[t.counts.edges," edges"]}),t.has_config?v.jsx("span",{className:"chip",children:"loadpath.yml"}):null]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Bounded contexts"}),Object.values(t.contexts).map(c=>v.jsxs("div",{className:"muted",children:[v.jsx("strong",{children:c.name})," — ",(c.django_apps||[]).join(", ")||"no apps"," ·"," ",(c.owners||[]).join(", ")||"unowned"]},c.name))]}),v.jsxs("details",{className:"section",children:[v.jsxs("summary",{children:["Rules ",v.jsx("span",{className:"count",children:(t.rules||[]).length})]}),(t.rules||[]).map(c=>v.jsx("div",{className:"muted",children:c},c))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsxs("summary",{children:["Findings ",v.jsx("span",{className:"count",children:a.length})]}),a.length===0?v.jsx("div",{className:"muted",children:"No architecture rule hits on the full graph."}):a.map(c=>v.jsxs("div",{className:"finding",children:[v.jsx("span",{className:`chip ${c.severity}`,children:c.severity}),c.message]},c.rule+c.message))]}),v.jsxs("details",{className:"section",open:!0,children:[v.jsx("summary",{children:"Types"}),v.jsx("table",{className:"type-table",children:v.jsx("tbody",{children:Object.entries(t.type_counts||{}).sort((c,d)=>d[1]-c[1]).slice(0,12).map(([c,d])=>v.jsxs("tr",{children:[v.jsx("td",{children:Qu(c)}),v.jsx("td",{children:d})]},c))})})]}),v.jsxs("div",{className:"btn-row",children:[v.jsx("button",{type:"button",className:"btn",disabled:r,onClick:o,"data-testid":"btn-full-reindex",children:"Full reindex"}),v.jsx("button",{type:"button",className:"btn primary",disabled:r,onClick:l,children:"Review against this index"})]})]})}Qg(Xg());A0.createRoot(document.getElementById("root")).render(v.jsx(Y.StrictMode,{children:v.jsx(ak,{})})); diff --git a/src/loadpath/static/assets/index-B8NciQ8z.css b/src/loadpath/static/assets/index-YwQandBA.css similarity index 67% rename from src/loadpath/static/assets/index-B8NciQ8z.css rename to src/loadpath/static/assets/index-YwQandBA.css index 88c9507..79a6ed6 100644 --- a/src/loadpath/static/assets/index-B8NciQ8z.css +++ b/src/loadpath/static/assets/index-YwQandBA.css @@ -1 +1 @@ -.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root,[data-theme=obsidian]{--bg: #070b10;--bg-2: #0d141c;--surface: #121a24;--line: #1e2c3c;--ink: #e7eef6;--muted: #8b9bb0;--high: #2a9d8f;--medium: #e9c46a;--low: #e76f51;--critical: #e85d04;--accent: #4cc9f0;--rail-from: #0b1219;--rail-to: #070b10;--rail-active: #15202c;--btn: #173044;--btn-line: #24506c;--btn-primary: #134e4a;--btn-primary-line: #2a9d8f;--node-bg: #101822;--node-line: #2a3d52;--graph-bg: #070b10;--graph-grid: rgba(42, 80, 120, .09);--edge-cheap: #4a5568;--edge-expensive: #f4a261;--edge-critical: #e85d04;--shadow: rgba(76, 201, 240, .08)}[data-theme=nord]{--bg: #2e3440;--bg-2: #3b4252;--surface: #434c5e;--line: #4c566a;--ink: #eceff4;--muted: #d8dee9;--high: #a3be8c;--medium: #ebcb8b;--low: #bf616a;--critical: #d08770;--accent: #88c0d0;--rail-from: #3b4252;--rail-to: #2e3440;--rail-active: #4c566a;--btn: #434c5e;--btn-line: #81a1c1;--btn-primary: #5e81ac;--btn-primary-line: #88c0d0;--node-bg: #3b4252;--node-line: #81a1c1;--graph-bg: #2e3440;--graph-grid: rgba(136, 192, 208, .12);--edge-cheap: #4c566a;--edge-expensive: #d08770;--edge-critical: #bf616a;--shadow: rgba(136, 192, 208, .12)}[data-theme=solarized-dark]{--bg: #002b36;--bg-2: #073642;--surface: #0a3944;--line: #16444f;--ink: #eee8d5;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #2aa198;--rail-from: #073642;--rail-to: #002b36;--rail-active: #16444f;--btn: #073642;--btn-line: #268bd2;--btn-primary: #0a4a42;--btn-primary-line: #2aa198;--node-bg: #073642;--node-line: #268bd2;--graph-bg: #002b36;--graph-grid: rgba(42, 161, 152, .12);--edge-cheap: #586e75;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(42, 161, 152, .12)}[data-theme=forest]{--bg: #0e1510;--bg-2: #152019;--surface: #1b2a20;--line: #2c4334;--ink: #e4f0e6;--muted: #8eaa96;--high: #6ab04c;--medium: #c8a951;--low: #e17055;--critical: #d35400;--accent: #7bed9f;--rail-from: #152019;--rail-to: #0e1510;--rail-active: #1f3326;--btn: #1f3326;--btn-line: #3d6b4f;--btn-primary: #1e4d32;--btn-primary-line: #6ab04c;--node-bg: #16241b;--node-line: #3d6b4f;--graph-bg: #0e1510;--graph-grid: rgba(123, 237, 159, .1);--edge-cheap: #3d6b4f;--edge-expensive: #c8a951;--edge-critical: #d35400;--shadow: rgba(123, 237, 159, .1)}[data-theme=rose]{--bg: #191724;--bg-2: #1f1d2e;--surface: #26233a;--line: #403d52;--ink: #e0def4;--muted: #908caa;--high: #9ccfd8;--medium: #f6c177;--low: #eb6f92;--critical: #eb6f92;--accent: #c4a7e7;--rail-from: #1f1d2e;--rail-to: #191724;--rail-active: #26233a;--btn: #26233a;--btn-line: #c4a7e7;--btn-primary: #3a2f4d;--btn-primary-line: #c4a7e7;--node-bg: #1f1d2e;--node-line: #524f67;--graph-bg: #191724;--graph-grid: rgba(196, 167, 231, .12);--edge-cheap: #524f67;--edge-expensive: #f6c177;--edge-critical: #eb6f92;--shadow: rgba(196, 167, 231, .12)}[data-theme=amber]{--bg: #120e0a;--bg-2: #1c1610;--surface: #261e16;--line: #3d2f22;--ink: #f4e6d0;--muted: #b59a78;--high: #c4d6a0;--medium: #e9b44c;--low: #d8572a;--critical: #c0392b;--accent: #f0a05a;--rail-from: #1c1610;--rail-to: #120e0a;--rail-active: #2b2218;--btn: #2b2218;--btn-line: #8a5a2b;--btn-primary: #4a3418;--btn-primary-line: #f0a05a;--node-bg: #1c1610;--node-line: #8a5a2b;--graph-bg: #120e0a;--graph-grid: rgba(240, 160, 90, .12);--edge-cheap: #5c4a38;--edge-expensive: #e9b44c;--edge-critical: #d8572a;--shadow: rgba(240, 160, 90, .12)}[data-theme=volcano]{--bg: #14090a;--bg-2: #1e0e10;--surface: #2a1416;--line: #4a2226;--ink: #fde8e4;--muted: #c48b86;--high: #7bed9f;--medium: #f6c90e;--low: #ff6b6b;--critical: #ff3b3b;--accent: #ff7b54;--rail-from: #1e0e10;--rail-to: #14090a;--rail-active: #32181b;--btn: #32181b;--btn-line: #ff7b54;--btn-primary: #5a1f18;--btn-primary-line: #ff7b54;--node-bg: #1e0e10;--node-line: #7a3330;--graph-bg: #14090a;--graph-grid: rgba(255, 123, 84, .12);--edge-cheap: #5a3330;--edge-expensive: #ff7b54;--edge-critical: #ff3b3b;--shadow: rgba(255, 123, 84, .14)}[data-theme=lavender]{--bg: #12101c;--bg-2: #1a1730;--surface: #221e3c;--line: #3b3560;--ink: #efeaff;--muted: #b3a7d6;--high: #80ffdb;--medium: #ffd166;--low: #ff6b9d;--critical: #ff4d6d;--accent: #c77dff;--rail-from: #1a1730;--rail-to: #12101c;--rail-active: #2a2550;--btn: #2a2550;--btn-line: #c77dff;--btn-primary: #3d2a66;--btn-primary-line: #c77dff;--node-bg: #1a1730;--node-line: #5a4d8a;--graph-bg: #12101c;--graph-grid: rgba(199, 125, 255, .12);--edge-cheap: #5a4d8a;--edge-expensive: #ffd166;--edge-critical: #ff4d6d;--shadow: rgba(199, 125, 255, .14)}[data-theme=paper]{--bg: #f6f1e8;--bg-2: #efe6d6;--surface: #fffaf2;--line: #d9cbb6;--ink: #2b241c;--muted: #6f6456;--high: #2a7a4b;--medium: #b5811a;--low: #c0392b;--critical: #a93226;--accent: #1d6a7a;--rail-from: #efe6d6;--rail-to: #e7dcc8;--rail-active: #e2d3bb;--btn: #fffaf2;--btn-line: #c9b79a;--btn-primary: #d7eee0;--btn-primary-line: #2a7a4b;--node-bg: #fffaf2;--node-line: #c9b79a;--graph-bg: #f6f1e8;--graph-grid: rgba(29, 106, 122, .1);--edge-cheap: #b7a48c;--edge-expensive: #c0392b;--edge-critical: #a93226;--shadow: rgba(43, 36, 28, .08)}[data-theme=solarized-light]{--bg: #fdf6e3;--bg-2: #eee8d5;--surface: #f5efdc;--line: #d6cba9;--ink: #657b83;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #268bd2;--rail-from: #eee8d5;--rail-to: #e6dfc8;--rail-active: #e0d9c0;--btn: #fdf6e3;--btn-line: #93a1a1;--btn-primary: #e8efc8;--btn-primary-line: #859900;--node-bg: #fdf6e3;--node-line: #93a1a1;--graph-bg: #fdf6e3;--graph-grid: rgba(38, 139, 210, .12);--edge-cheap: #93a1a1;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(101, 123, 131, .1)}[data-theme=seafoam]{--bg: #eef7f4;--bg-2: #dff0ea;--surface: #ffffff;--line: #b7d5cc;--ink: #17332c;--muted: #4d7268;--high: #1b8a5a;--medium: #c48a14;--low: #c44536;--critical: #9b2d22;--accent: #1d9a8a;--rail-from: #dff0ea;--rail-to: #cfe6de;--rail-active: #c4ddd4;--btn: #ffffff;--btn-line: #8fbfb2;--btn-primary: #d4f0e4;--btn-primary-line: #1b8a5a;--node-bg: #ffffff;--node-line: #8fbfb2;--graph-bg: #eef7f4;--graph-grid: rgba(29, 154, 138, .12);--edge-cheap: #8fbfb2;--edge-expensive: #c48a14;--edge-critical: #c44536;--shadow: rgba(23, 51, 44, .08)}[data-theme=high-contrast]{--bg: #ffffff;--bg-2: #f2f2f2;--surface: #ffffff;--line: #111111;--ink: #000000;--muted: #222222;--high: #007a33;--medium: #8a5a00;--low: #b00000;--critical: #9b0000;--accent: #0033cc;--rail-from: #f2f2f2;--rail-to: #e6e6e6;--rail-active: #d9d9d9;--btn: #ffffff;--btn-line: #000000;--btn-primary: #d9f2e3;--btn-primary-line: #007a33;--node-bg: #ffffff;--node-line: #000000;--graph-bg: #ffffff;--graph-grid: rgba(0, 0, 0, .12);--edge-cheap: #444444;--edge-expensive: #8a5a00;--edge-critical: #b00000;--shadow: rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}:root{--radius: 6px;--radius-lg: 10px;--control-h: 32px;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--space: 8px}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-40px;z-index:50;background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 12px}.skip:focus{top:12px}.app{display:grid;grid-template-columns:232px 1fr;height:100%}.rail{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--rail-from),var(--rail-to));padding:16px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.brand{display:flex;flex-direction:column;gap:2px;padding:4px 8px 16px}.brand-mark{font-family:var(--mono);letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--accent);font-weight:600}.brand-sub{font-size:11px;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;background:transparent;border:0;text-align:left;padding:8px 10px;border-radius:var(--radius);color:var(--muted);cursor:pointer;width:100%}.nav-item:hover{background:color-mix(in srgb,var(--rail-active) 70%,transparent);color:var(--ink)}.nav-item.active{background:var(--rail-active);color:var(--ink);font-weight:500}.nav-item svg{flex-shrink:0}.theme-pick{margin-top:14px;display:grid;gap:4px;padding:0 2px}.theme-pick label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.theme-pick select,.field select,.field input,.topbar input,.topbar select,.settings input,.settings select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;height:var(--control-h);width:100%}.rail-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--line);display:grid;gap:6px}.kbd-hint{font-size:11px;color:var(--muted)}kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--surface)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--bg)}.progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;z-index:30;background:color-mix(in srgb,var(--accent) 20%,transparent)}.progress i{display:block;height:100%;width:32%;background:var(--accent);animation:indeterminate 1.1s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-120%)}to{transform:translate(400%)}}.topbar{display:flex;gap:10px;align-items:flex-end;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:11px;color:var(--muted);font-weight:500}.field.path{flex:1;min-width:180px}.field.ref{width:132px;flex:0 0 132px}.field.workspace{width:180px;flex:0 0 180px}.topbar input,.topbar select{min-width:0}.topbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center;padding-bottom:0}.btn,.topbar button{background:var(--btn);border:1px solid var(--btn-line);border-radius:var(--radius);height:var(--control-h);padding:0 12px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover,.topbar button:hover{filter:brightness(1.08)}.btn:disabled,.topbar button:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.primary{background:var(--btn-primary);border-color:var(--btn-primary-line)}.btn.ghost{background:transparent}.alerts{display:grid;gap:8px;padding:10px 16px 0}.alerts:empty{display:none;padding:0}.stage{flex:1;min-height:0;display:flex;flex-direction:column}.content{flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,420px) 1fr}.brief{overflow:auto;border-right:1px solid var(--line);padding:16px 18px 24px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--bg)}.graph-wrap{position:relative;min-height:0;display:flex;flex-direction:column}.graph-wrap .react-flow{background-color:var(--graph-bg);background-image:linear-gradient(var(--graph-grid) 1px,transparent 1px),linear-gradient(90deg,var(--graph-grid) 1px,transparent 1px);background-size:24px 24px}.react-flow__minimap{background:var(--surface)!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--surface)!important;border-bottom:1px solid var(--line)!important;fill:var(--ink)!important}h1{font-size:18px;margin:0 0 6px;font-weight:600}h2{font-size:13px;margin:0;font-weight:600}.merge-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:12px}.merge-box.high{border-color:color-mix(in srgb,var(--high) 55%,var(--line))}.merge-box.medium{border-color:color-mix(in srgb,var(--medium) 55%,var(--line))}.merge-box.low{border-color:color-mix(in srgb,var(--low) 55%,var(--line))}.level{font-family:var(--mono);font-weight:600;font-size:14px}.level.high{color:var(--high)}.level.medium{color:var(--medium)}.level.low{color:var(--low)}.merge-title{margin-top:4px;font-size:13px;color:var(--ink)}.reasons{margin:10px 0 0;padding:0 0 0 18px;color:var(--muted)}.reasons li{margin:0 0 4px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px 10px}.metric .n{font-family:var(--mono);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.metric .l{font-size:11px;color:var(--muted);margin-top:2px}.section{border-top:1px solid var(--line);padding:8px 0 4px}.section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:6px 0}.section>summary::-webkit-details-marker{display:none}.section>summary .count{font-family:var(--mono);letter-spacing:0;text-transform:none;border:1px solid var(--line);border-radius:999px;padding:0 7px;height:18px;display:inline-flex;align-items:center;font-size:11px}.kicker{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-weight:600}.chip{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin:0 6px 6px 0;color:var(--muted);background:var(--surface)}.chip.blocker{color:var(--low);border-color:var(--low)}.chip.warning{color:var(--medium);border-color:var(--medium)}.chip.open{color:var(--high);border-color:color-mix(in srgb,var(--high) 50%,var(--line))}.file{font-family:var(--mono);font-size:12px;color:var(--accent)}.read-item,.finding,.residual{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.read-item:last-child,.finding:last-child{border-bottom:0}.read-item .why{color:var(--muted);font-size:12px;margin-top:2px}.muted{color:var(--muted);font-size:13px;line-height:1.45}.error{color:var(--low);padding:8px 12px;border:1px solid var(--low);background:color-mix(in srgb,var(--low) 10%,var(--surface));border-radius:var(--radius);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.45;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner.warn{border-color:var(--medium);color:var(--medium)}.banner.stale{border-color:var(--low);color:var(--low)}.banner .dismiss{background:transparent;border:0;color:inherit;cursor:pointer;height:auto;padding:0 2px;opacity:.7}.empty{padding:24px 8px;color:var(--muted);font-size:13px;line-height:1.55}.empty h2{font-size:16px;color:var(--ink);margin-bottom:8px}.empty ol{margin:12px 0 0 18px;padding:0}.empty code,code{font-family:var(--mono);font-size:12px;color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pr-list{padding:16px;overflow:auto}.pr-toolbar{display:flex;gap:8px;align-items:flex-end;margin-bottom:14px}.pr-toolbar .field{flex:1}.pr-toolbar .field.provider{flex:0 0 140px}.pr{border:1px solid var(--line);background:var(--surface);padding:12px 14px;border-radius:var(--radius-lg);margin-bottom:10px}.pr h3{margin:0 0 4px;font-size:14px;font-weight:600}.pr-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px}.pr-actions{display:flex;gap:8px;align-items:center}.settings{padding:24px;max-width:760px;overflow:auto;display:grid;gap:16px}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:16px;display:grid;gap:8px}.settings-card h2{font-size:14px;margin-bottom:2px}.settings label{font-size:12px;color:var(--muted);font-weight:500}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.theme-swatch{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);padding:10px;text-align:left;cursor:pointer;height:auto}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch .name{font-size:13px;font-weight:600}.theme-swatch .group{font-size:11px;color:var(--muted)}.headline{white-space:pre-wrap;font-family:var(--mono);font-size:12px;color:var(--muted);margin:8px 0 0}.graph-modes{display:flex;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}.seg button,.graph-modes button{background:transparent;border:0;border-radius:999px;padding:4px 12px;color:var(--muted);cursor:pointer;height:26px}.seg button.active,.graph-modes button.active{background:var(--rail-active);color:var(--ink)}.legend{margin-left:auto;display:flex;gap:12px;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:14px;height:2px;margin-right:6px;vertical-align:middle;background:var(--edge-cheap)}.legend i.exp{background:var(--edge-expensive)}.legend i.crit{background:var(--edge-critical);height:3px}.legend i.dash{border-top:2px dashed var(--muted);background:none;height:0}.inspector{position:absolute;top:12px;right:12px;z-index:5;width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;box-shadow:0 8px 24px var(--shadow)}.inspector .t{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.inspector .n{font-weight:600;margin:4px 0}.lp-node{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--node-line);background:var(--node-bg);min-width:168px;box-shadow:0 0 0 1px var(--shadow)}.lp-node .t{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.lp-node .n{font-size:13px;font-weight:600}.lp-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.type-table{width:100%;border-collapse:collapse;font-size:12px}.type-table td{padding:3px 0}.type-table td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted)}@media(prefers-reduced-motion:reduce){.progress i{animation:none;width:100%}*{scroll-behavior:auto!important}}@media(max-width:960px){.app{grid-template-columns:56px 1fr}.brand-sub,.nav-item span,.theme-pick,.kbd-hint,.rail-foot .muted{display:none}.nav-item{justify-content:center;padding:10px}.content{grid-template-columns:1fr}.brief{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}} +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root,[data-theme=obsidian]{--bg: #070b10;--bg-2: #0d141c;--surface: #121a24;--line: #1e2c3c;--ink: #e7eef6;--muted: #8b9bb0;--high: #2a9d8f;--medium: #e9c46a;--low: #e76f51;--critical: #e85d04;--accent: #4cc9f0;--rail-from: #0b1219;--rail-to: #070b10;--rail-active: #15202c;--btn: #173044;--btn-line: #24506c;--btn-primary: #134e4a;--btn-primary-line: #2a9d8f;--node-bg: #101822;--node-line: #2a3d52;--graph-bg: #070b10;--graph-grid: rgba(42, 80, 120, .09);--edge-cheap: #4a5568;--edge-expensive: #f4a261;--edge-critical: #e85d04;--shadow: rgba(76, 201, 240, .08)}[data-theme=nord]{--bg: #2e3440;--bg-2: #3b4252;--surface: #434c5e;--line: #4c566a;--ink: #eceff4;--muted: #d8dee9;--high: #a3be8c;--medium: #ebcb8b;--low: #bf616a;--critical: #d08770;--accent: #88c0d0;--rail-from: #3b4252;--rail-to: #2e3440;--rail-active: #4c566a;--btn: #434c5e;--btn-line: #81a1c1;--btn-primary: #5e81ac;--btn-primary-line: #88c0d0;--node-bg: #3b4252;--node-line: #81a1c1;--graph-bg: #2e3440;--graph-grid: rgba(136, 192, 208, .12);--edge-cheap: #4c566a;--edge-expensive: #d08770;--edge-critical: #bf616a;--shadow: rgba(136, 192, 208, .12)}[data-theme=solarized-dark]{--bg: #002b36;--bg-2: #073642;--surface: #0a3944;--line: #16444f;--ink: #eee8d5;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #2aa198;--rail-from: #073642;--rail-to: #002b36;--rail-active: #16444f;--btn: #073642;--btn-line: #268bd2;--btn-primary: #0a4a42;--btn-primary-line: #2aa198;--node-bg: #073642;--node-line: #268bd2;--graph-bg: #002b36;--graph-grid: rgba(42, 161, 152, .12);--edge-cheap: #586e75;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(42, 161, 152, .12)}[data-theme=forest]{--bg: #0e1510;--bg-2: #152019;--surface: #1b2a20;--line: #2c4334;--ink: #e4f0e6;--muted: #8eaa96;--high: #6ab04c;--medium: #c8a951;--low: #e17055;--critical: #d35400;--accent: #7bed9f;--rail-from: #152019;--rail-to: #0e1510;--rail-active: #1f3326;--btn: #1f3326;--btn-line: #3d6b4f;--btn-primary: #1e4d32;--btn-primary-line: #6ab04c;--node-bg: #16241b;--node-line: #3d6b4f;--graph-bg: #0e1510;--graph-grid: rgba(123, 237, 159, .1);--edge-cheap: #3d6b4f;--edge-expensive: #c8a951;--edge-critical: #d35400;--shadow: rgba(123, 237, 159, .1)}[data-theme=rose]{--bg: #191724;--bg-2: #1f1d2e;--surface: #26233a;--line: #403d52;--ink: #e0def4;--muted: #908caa;--high: #9ccfd8;--medium: #f6c177;--low: #eb6f92;--critical: #eb6f92;--accent: #c4a7e7;--rail-from: #1f1d2e;--rail-to: #191724;--rail-active: #26233a;--btn: #26233a;--btn-line: #c4a7e7;--btn-primary: #3a2f4d;--btn-primary-line: #c4a7e7;--node-bg: #1f1d2e;--node-line: #524f67;--graph-bg: #191724;--graph-grid: rgba(196, 167, 231, .12);--edge-cheap: #524f67;--edge-expensive: #f6c177;--edge-critical: #eb6f92;--shadow: rgba(196, 167, 231, .12)}[data-theme=amber]{--bg: #120e0a;--bg-2: #1c1610;--surface: #261e16;--line: #3d2f22;--ink: #f4e6d0;--muted: #b59a78;--high: #c4d6a0;--medium: #e9b44c;--low: #d8572a;--critical: #c0392b;--accent: #f0a05a;--rail-from: #1c1610;--rail-to: #120e0a;--rail-active: #2b2218;--btn: #2b2218;--btn-line: #8a5a2b;--btn-primary: #4a3418;--btn-primary-line: #f0a05a;--node-bg: #1c1610;--node-line: #8a5a2b;--graph-bg: #120e0a;--graph-grid: rgba(240, 160, 90, .12);--edge-cheap: #5c4a38;--edge-expensive: #e9b44c;--edge-critical: #d8572a;--shadow: rgba(240, 160, 90, .12)}[data-theme=volcano]{--bg: #14090a;--bg-2: #1e0e10;--surface: #2a1416;--line: #4a2226;--ink: #fde8e4;--muted: #c48b86;--high: #7bed9f;--medium: #f6c90e;--low: #ff6b6b;--critical: #ff3b3b;--accent: #ff7b54;--rail-from: #1e0e10;--rail-to: #14090a;--rail-active: #32181b;--btn: #32181b;--btn-line: #ff7b54;--btn-primary: #5a1f18;--btn-primary-line: #ff7b54;--node-bg: #1e0e10;--node-line: #7a3330;--graph-bg: #14090a;--graph-grid: rgba(255, 123, 84, .12);--edge-cheap: #5a3330;--edge-expensive: #ff7b54;--edge-critical: #ff3b3b;--shadow: rgba(255, 123, 84, .14)}[data-theme=lavender]{--bg: #12101c;--bg-2: #1a1730;--surface: #221e3c;--line: #3b3560;--ink: #efeaff;--muted: #b3a7d6;--high: #80ffdb;--medium: #ffd166;--low: #ff6b9d;--critical: #ff4d6d;--accent: #c77dff;--rail-from: #1a1730;--rail-to: #12101c;--rail-active: #2a2550;--btn: #2a2550;--btn-line: #c77dff;--btn-primary: #3d2a66;--btn-primary-line: #c77dff;--node-bg: #1a1730;--node-line: #5a4d8a;--graph-bg: #12101c;--graph-grid: rgba(199, 125, 255, .12);--edge-cheap: #5a4d8a;--edge-expensive: #ffd166;--edge-critical: #ff4d6d;--shadow: rgba(199, 125, 255, .14)}[data-theme=paper]{--bg: #f6f1e8;--bg-2: #efe6d6;--surface: #fffaf2;--line: #d9cbb6;--ink: #2b241c;--muted: #6f6456;--high: #2a7a4b;--medium: #b5811a;--low: #c0392b;--critical: #a93226;--accent: #1d6a7a;--rail-from: #efe6d6;--rail-to: #e7dcc8;--rail-active: #e2d3bb;--btn: #fffaf2;--btn-line: #c9b79a;--btn-primary: #d7eee0;--btn-primary-line: #2a7a4b;--node-bg: #fffaf2;--node-line: #c9b79a;--graph-bg: #f6f1e8;--graph-grid: rgba(29, 106, 122, .1);--edge-cheap: #b7a48c;--edge-expensive: #c0392b;--edge-critical: #a93226;--shadow: rgba(43, 36, 28, .08)}[data-theme=solarized-light]{--bg: #fdf6e3;--bg-2: #eee8d5;--surface: #f5efdc;--line: #d6cba9;--ink: #657b83;--muted: #93a1a1;--high: #859900;--medium: #b58900;--low: #dc322f;--critical: #cb4b16;--accent: #268bd2;--rail-from: #eee8d5;--rail-to: #e6dfc8;--rail-active: #e0d9c0;--btn: #fdf6e3;--btn-line: #93a1a1;--btn-primary: #e8efc8;--btn-primary-line: #859900;--node-bg: #fdf6e3;--node-line: #93a1a1;--graph-bg: #fdf6e3;--graph-grid: rgba(38, 139, 210, .12);--edge-cheap: #93a1a1;--edge-expensive: #cb4b16;--edge-critical: #dc322f;--shadow: rgba(101, 123, 131, .1)}[data-theme=seafoam]{--bg: #eef7f4;--bg-2: #dff0ea;--surface: #ffffff;--line: #b7d5cc;--ink: #17332c;--muted: #4d7268;--high: #1b8a5a;--medium: #c48a14;--low: #c44536;--critical: #9b2d22;--accent: #1d9a8a;--rail-from: #dff0ea;--rail-to: #cfe6de;--rail-active: #c4ddd4;--btn: #ffffff;--btn-line: #8fbfb2;--btn-primary: #d4f0e4;--btn-primary-line: #1b8a5a;--node-bg: #ffffff;--node-line: #8fbfb2;--graph-bg: #eef7f4;--graph-grid: rgba(29, 154, 138, .12);--edge-cheap: #8fbfb2;--edge-expensive: #c48a14;--edge-critical: #c44536;--shadow: rgba(23, 51, 44, .08)}[data-theme=high-contrast]{--bg: #ffffff;--bg-2: #f2f2f2;--surface: #ffffff;--line: #111111;--ink: #000000;--muted: #222222;--high: #007a33;--medium: #8a5a00;--low: #b00000;--critical: #9b0000;--accent: #0033cc;--rail-from: #f2f2f2;--rail-to: #e6e6e6;--rail-active: #d9d9d9;--btn: #ffffff;--btn-line: #000000;--btn-primary: #d9f2e3;--btn-primary-line: #007a33;--node-bg: #ffffff;--node-line: #000000;--graph-bg: #ffffff;--graph-grid: rgba(0, 0, 0, .12);--edge-cheap: #444444;--edge-expensive: #8a5a00;--edge-critical: #b00000;--shadow: rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}:root{--radius: 6px;--radius-lg: 10px;--control-h: 32px;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--space: 8px}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-40px;z-index:50;background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 12px}.skip:focus{top:12px}.app{display:grid;grid-template-columns:232px 1fr;height:100%}.rail{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--rail-from),var(--rail-to));padding:16px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.brand{display:flex;flex-direction:column;gap:2px;padding:4px 8px 16px}.brand-mark{font-family:var(--mono);letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--accent);font-weight:600}.brand-sub{font-size:11px;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;background:transparent;border:0;text-align:left;padding:8px 10px;border-radius:var(--radius);color:var(--muted);cursor:pointer;width:100%}.nav-item:hover{background:color-mix(in srgb,var(--rail-active) 70%,transparent);color:var(--ink)}.nav-item.active{background:var(--rail-active);color:var(--ink);font-weight:500}.nav-item svg{flex-shrink:0}.theme-pick{margin-top:14px;display:grid;gap:4px;padding:0 2px}.theme-pick label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.theme-pick select,.field select,.field input,.topbar input,.topbar select,.settings input,.settings select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;height:var(--control-h);width:100%}.rail-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--line);display:grid;gap:6px}.kbd-hint{font-size:11px;color:var(--muted)}kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--surface)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--bg)}.progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;z-index:30;background:color-mix(in srgb,var(--accent) 20%,transparent)}.progress i{display:block;height:100%;width:32%;background:var(--accent);animation:indeterminate 1.1s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-120%)}to{transform:translate(400%)}}.topbar{display:flex;gap:10px;align-items:flex-end;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:11px;color:var(--muted);font-weight:500}.field.path{flex:1;min-width:180px}.field.ref{width:132px;flex:0 0 132px}.field.workspace{width:180px;flex:0 0 180px}.topbar input,.topbar select{min-width:0}.topbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center;padding-bottom:0}.btn,.topbar button{background:var(--btn);border:1px solid var(--btn-line);border-radius:var(--radius);height:var(--control-h);padding:0 12px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover,.topbar button:hover{filter:brightness(1.08)}.btn:disabled,.topbar button:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.primary{background:var(--btn-primary);border-color:var(--btn-primary-line)}.btn.ghost{background:transparent}.alerts{display:grid;gap:8px;padding:10px 16px 0}.alerts:empty{display:none;padding:0}.stage{flex:1;min-height:0;display:flex;flex-direction:column}.content{flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,420px) 1fr}.brief{overflow:auto;border-right:1px solid var(--line);padding:16px 18px 24px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--bg)}.graph-wrap{position:relative;min-height:0;display:flex;flex-direction:column}.graph-wrap .react-flow{background-color:var(--graph-bg);background-image:linear-gradient(var(--graph-grid) 1px,transparent 1px),linear-gradient(90deg,var(--graph-grid) 1px,transparent 1px);background-size:24px 24px}.react-flow__minimap{background:var(--surface)!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--surface)!important;border-bottom:1px solid var(--line)!important;fill:var(--ink)!important}h1{font-size:18px;margin:0 0 6px;font-weight:600}h2{font-size:13px;margin:0;font-weight:600}.merge-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:12px}.merge-box.high{border-color:color-mix(in srgb,var(--high) 55%,var(--line))}.merge-box.medium{border-color:color-mix(in srgb,var(--medium) 55%,var(--line))}.merge-box.low{border-color:color-mix(in srgb,var(--low) 55%,var(--line))}.level{font-family:var(--mono);font-weight:600;font-size:14px}.level.high{color:var(--high)}.level.medium{color:var(--medium)}.level.low{color:var(--low)}.merge-title{margin-top:4px;font-size:13px;color:var(--ink)}.reasons{margin:10px 0 0;padding:0 0 0 18px;color:var(--muted)}.reasons li{margin:0 0 4px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px 10px}.metric .n{font-family:var(--mono);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.metric .l{font-size:11px;color:var(--muted);margin-top:2px}.section{border-top:1px solid var(--line);padding:8px 0 4px}.section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:6px 0}.section>summary::-webkit-details-marker{display:none}.section>summary .count{font-family:var(--mono);letter-spacing:0;text-transform:none;border:1px solid var(--line);border-radius:999px;padding:0 7px;height:18px;display:inline-flex;align-items:center;font-size:11px}.kicker{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-weight:600}.chip{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin:0 6px 6px 0;color:var(--muted);background:var(--surface)}.chip.blocker{color:var(--low);border-color:var(--low)}.chip.warning{color:var(--medium);border-color:var(--medium)}.chip.open{color:var(--high);border-color:color-mix(in srgb,var(--high) 50%,var(--line))}.file{font-family:var(--mono);font-size:12px;color:var(--accent)}.read-item,.finding,.residual{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.read-item:last-child,.finding:last-child{border-bottom:0}.read-item .why{color:var(--muted);font-size:12px;margin-top:2px}.muted{color:var(--muted);font-size:13px;line-height:1.45}.error{color:var(--low);padding:8px 12px;border:1px solid var(--low);background:color-mix(in srgb,var(--low) 10%,var(--surface));border-radius:var(--radius);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.45;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.banner.warn{border-color:var(--medium);color:var(--medium)}.banner.stale{border-color:var(--low);color:var(--low)}.banner .dismiss{background:transparent;border:0;color:inherit;cursor:pointer;height:auto;padding:0 2px;opacity:.7}.empty{padding:24px 8px;color:var(--muted);font-size:13px;line-height:1.55}.empty h2{font-size:16px;color:var(--ink);margin-bottom:8px}.empty ol{margin:12px 0 0 18px;padding:0}.empty code,code{font-family:var(--mono);font-size:12px;color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pr-list{padding:16px;overflow:auto}.pr-toolbar{display:flex;gap:8px;align-items:flex-end;margin-bottom:14px}.pr-toolbar .field{flex:1}.pr-toolbar .field.provider{flex:0 0 140px}.pr{border:1px solid var(--line);background:var(--surface);padding:12px 14px;border-radius:var(--radius-lg);margin-bottom:10px}.pr h3{margin:0 0 4px;font-size:14px;font-weight:600}.pr-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px}.pr-actions{display:flex;gap:8px;align-items:center}.settings{padding:24px;max-width:760px;overflow:auto;display:grid;gap:16px}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:16px;display:grid;gap:8px}.settings-card h2{font-size:14px;margin-bottom:2px}.settings label{font-size:12px;color:var(--muted);font-weight:500}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.theme-swatch{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);padding:10px;text-align:left;cursor:pointer;height:auto}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch .name{font-size:13px;font-weight:600}.theme-swatch .group{font-size:11px;color:var(--muted)}.headline{white-space:pre-wrap;font-family:var(--mono);font-size:12px;color:var(--muted);margin:8px 0 0}.graph-modes{display:flex;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}.seg button,.graph-modes button{background:transparent;border:0;border-radius:999px;padding:4px 12px;color:var(--muted);cursor:pointer;height:26px}.seg button.active,.graph-modes button.active{background:var(--rail-active);color:var(--ink)}.legend{margin-left:auto;display:flex;gap:12px;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:14px;height:2px;margin-right:6px;vertical-align:middle;background:var(--edge-cheap)}.legend i.exp{background:var(--edge-expensive)}.legend i.crit{background:var(--edge-critical);height:3px}.legend i.dash{border-top:2px dashed var(--muted);background:none;height:0}.inspector{position:absolute;top:12px;right:12px;z-index:5;width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;box-shadow:0 8px 24px var(--shadow)}.inspector .t{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.inspector .n{font-weight:600;margin:4px 0}.lp-node{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--node-line);background:var(--node-bg);min-width:168px;box-shadow:0 0 0 1px var(--shadow)}.lp-node .t{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.lp-node .n{font-size:13px;font-weight:600}.lp-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.type-table{width:100%;border-collapse:collapse;font-size:12px}.type-table td{padding:3px 0}.type-table td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted)}@media(prefers-reduced-motion:reduce){.progress i{animation:none;width:100%}*{scroll-behavior:auto!important}}@media(max-width:960px){.app{grid-template-columns:56px 1fr}.brand-sub,.nav-item span,.theme-pick,.kbd-hint,.rail-foot .muted{display:none}.nav-item{justify-content:center;padding:10px}.content{grid-template-columns:1fr}.brief{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}} diff --git a/src/loadpath/static/index.html b/src/loadpath/static/index.html index 4bf0a48..f45dcef 100644 --- a/src/loadpath/static/index.html +++ b/src/loadpath/static/index.html @@ -17,8 +17,8 @@ - - + +
diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 57ab844..d92fd57 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -44,6 +44,12 @@ export function App() { applyTheme(id); }; + const busyRef = useRef(""); + const markBusy = (msg: string) => { + busyRef.current = msg; + setBusy(msg); + }; + useEffect(() => { api.settings().then(setSettings).catch(() => undefined); api.repos().then((r) => setRepos(r.repos)).catch(() => undefined); @@ -95,9 +101,10 @@ export function App() { }; const runReview = async () => { + if (busyRef.current) return; setError(""); setCopied(""); - setBusy("Tracing load path…"); + markBusy("Tracing load path…"); persistRepo(repo); persistRefs(base, head); try { @@ -110,14 +117,15 @@ export function App() { } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; const runIndex = async (incremental = true) => { + if (busyRef.current) return; setError(""); setCopied(""); - setBusy(incremental ? "Indexing…" : "Full reindex…"); + markBusy(incremental ? "Indexing…" : "Full reindex…"); persistRepo(repo); try { await api.index(repo, incremental); @@ -130,14 +138,15 @@ export function App() { } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; const draftConfig = async () => { + if (busyRef.current) return; setError(""); setCopied(""); - setBusy("Detecting layout…"); + markBusy("Detecting layout…"); persistRepo(repo); try { const layout = await api.init(repo); @@ -146,7 +155,7 @@ export function App() { } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; @@ -161,31 +170,33 @@ export function App() { }; const postComment = async () => { + if (busyRef.current) return; if (!review?.markdown || !scmRepo || !prNumber) { setError("Pick a pull request first (Pull requests tab), then post the brief."); return; } - setBusy("Posting Loadpath brief…"); + markBusy("Posting Loadpath brief…"); try { const posted = await api.postComment(provider, scmRepo, Number(prNumber), review.markdown); setCopied(posted.updated ? "Updated the Loadpath PR comment" : "Posted the Loadpath PR comment"); } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; const loadPrs = async () => { + if (busyRef.current) return; setError(""); - setBusy("Fetching pull requests…"); + markBusy("Fetching pull requests…"); try { const r = await api.prs(provider, scmRepo); setPrs(r.pull_requests); } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; @@ -206,20 +217,24 @@ export function App() { ? [{ path: repo, name: repoName(repo) }] : [], }; - setSettings(await api.saveSettings(body)); - setCopied("Settings saved on this machine"); + try { + setSettings(await api.saveSettings(body)); + setCopied("Settings saved on this machine"); + } catch (e) { + setError(e instanceof Error ? e.message : String(e)); + } }; const askAi = async () => { - if (!review) return; - setBusy("Residual analysis…"); + if (!review || busyRef.current) return; + markBusy("Residual analysis…"); try { const r = await api.residual(review); setAiNote(r.note); } catch (e) { setError(e instanceof Error ? e.message : String(e)); } finally { - setBusy(""); + markBusy(""); } }; @@ -241,9 +256,10 @@ export function App() { return; } const hit = TABS.find((item) => item.shortcut === event.key); - if (hit) setTab(hit.id); + if (hit && !event.metaKey && !event.ctrlKey && !event.altKey) setTab(hit.id); if ((event.metaKey || event.ctrlKey) && event.key === "Enter") { if (tabRef.current === "settings" || tabRef.current === "prs") return; + if (busyRef.current) return; event.preventDefault(); void runReviewRef.current(); } @@ -289,6 +305,7 @@ export function App() { data-testid={item.testId} className={active ? "nav-item active" : "nav-item"} aria-current={active ? "page" : undefined} + aria-label={item.label} onClick={() => setTab(item.id)} > @@ -488,11 +505,10 @@ export function App() { {tab === "graph" && (
-
+