From bad03e4177fc89cbf6fbf99ae953d6e882c4ef81 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 21:06:35 -0400 Subject: [PATCH 01/18] feat(replay): add conductor replay command for log visualization Add a new `conductor replay ` CLI command that launches the web dashboard in replay mode with a timeline slider for scrubbing through recorded workflow history. Backend: - ReplayDashboard server loads JSON array or JSONL event logs - /api/replay/info endpoint enables frontend replay mode detection - Auto-detects file format (dashboard download vs EventLogSubscriber) Frontend: - ReplayBar component with play/pause, scrub slider, and 1x/2x/4x/8x speed controls - useReplay hook drives auto-play with timing derived from real event timestamps - App.tsx conditionally renders replay vs live mode Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/cli/app.py | 63 ++++ src/conductor/web/frontend/src/App.tsx | 31 +- .../src/components/layout/ReplayBar.tsx | 122 +++++++ .../web/frontend/src/hooks/use-replay.ts | 60 ++++ .../web/frontend/src/stores/workflow-store.ts | 103 ++++++ src/conductor/web/replay.py | 257 +++++++++++++++ .../web/static/assets/index-BnXLFDTL.js | 297 ++++++++++++++++++ .../web/static/assets/index-CSvVmXiA.css | 1 + src/conductor/web/static/index.html | 4 +- tests/test_cli/test_replay_command.py | 78 +++++ tests/test_web/test_replay.py | 202 ++++++++++++ 11 files changed, 1213 insertions(+), 5 deletions(-) create mode 100644 src/conductor/web/frontend/src/components/layout/ReplayBar.tsx create mode 100644 src/conductor/web/frontend/src/hooks/use-replay.ts create mode 100644 src/conductor/web/replay.py create mode 100644 src/conductor/web/static/assets/index-BnXLFDTL.js create mode 100644 src/conductor/web/static/assets/index-CSvVmXiA.css create mode 100644 tests/test_cli/test_replay_command.py create mode 100644 tests/test_web/test_replay.py diff --git a/src/conductor/cli/app.py b/src/conductor/cli/app.py index 4fb0582..07c316d 100644 --- a/src/conductor/cli/app.py +++ b/src/conductor/cli/app.py @@ -705,6 +705,69 @@ def checkpoints( output_console.print(f"\n[dim]Total: {len(checkpoint_list)} checkpoint(s)[/dim]") +@app.command() +def replay( + log_file: Annotated[ + Path, + typer.Argument( + help="Path to a JSON or JSONL event log file.", + exists=True, + readable=True, + ), + ], + web_port: Annotated[ + int, + typer.Option( + "--web-port", + help="Port for the replay dashboard (0 = auto-select).", + ), + ] = 0, +) -> None: + """Replay a recorded workflow from a JSON/JSONL event log. + + Opens the web dashboard in replay mode with a timeline slider + for scrubbing through the workflow history. + + The log file can be: + - A JSON array downloaded from the dashboard (GET /api/logs) + - A JSONL file written by the EventLogSubscriber + + Example: + conductor replay conductor-logs.json + conductor replay /tmp/conductor/conductor-my-workflow-20260101-120000.events.jsonl + """ + import asyncio + + async def _run_replay() -> None: + from conductor.web.replay import ReplayDashboard + + try: + dashboard = ReplayDashboard( + log_file.resolve(), + host="127.0.0.1", + port=web_port, + ) + except ValueError as exc: + print_error(exc) + raise typer.Exit(1) from exc + + await dashboard.start() + console.print(f"\n[bold green]▶ Replay dashboard:[/] {dashboard.url}\n") + console.print("[dim]Press Ctrl+C to exit[/dim]\n") + + try: + await asyncio.Event().wait() + except asyncio.CancelledError: + pass + finally: + await dashboard.stop() + + try: + asyncio.run(_run_replay()) + except KeyboardInterrupt: + console.print("\n[dim]Replay stopped.[/dim]") + + @app.command() def stop( port: Annotated[ diff --git a/src/conductor/web/frontend/src/App.tsx b/src/conductor/web/frontend/src/App.tsx index 2f3643d..111e823 100644 --- a/src/conductor/web/frontend/src/App.tsx +++ b/src/conductor/web/frontend/src/App.tsx @@ -1,16 +1,38 @@ -import { useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { Header } from '@/components/layout/Header'; import { StatusBar } from '@/components/layout/StatusBar'; +import { ReplayBar } from '@/components/layout/ReplayBar'; import { ResizableLayout } from '@/components/layout/ResizableLayout'; import { useWebSocket } from '@/hooks/use-websocket'; +import { useReplay } from '@/hooks/use-replay'; import { useWorkflowStore } from '@/stores/workflow-store'; -export default function App() { +function LiveMode() { useWebSocket(); + return null; +} + +function ReplayMode() { + useReplay(); + return null; +} +export default function App() { + const [isReplayMode, setIsReplayMode] = useState(null); + const replayMode = useWorkflowStore((s) => s.replayMode); const selectNode = useWorkflowStore((s) => s.selectNode); const workflowName = useWorkflowStore((s) => s.workflowName); + // Detect replay mode on mount + useEffect(() => { + fetch('/api/replay/info') + .then((r) => { + if (r.ok) setIsReplayMode(true); + else setIsReplayMode(false); + }) + .catch(() => setIsReplayMode(false)); + }, []); + // Update document title useEffect(() => { document.title = workflowName ? `Conductor — ${workflowName}` : 'Conductor Dashboard'; @@ -27,11 +49,14 @@ export default function App() { return () => window.removeEventListener('keydown', handleKeyDown); }, [selectNode]); + if (isReplayMode === null) return null; + return (
+ {isReplayMode ? : }
- + {replayMode ? : }
); } diff --git a/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx new file mode 100644 index 0000000..6656ddd --- /dev/null +++ b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx @@ -0,0 +1,122 @@ +import { Play, Pause } from 'lucide-react'; +import { useWorkflowStore } from '@/stores/workflow-store'; +import { cn } from '@/lib/utils'; + +const SPEEDS = [1, 2, 4, 8] as const; + +function formatRelativeTime(events: { timestamp: number }[], position: number): string { + if (position === 0 || events.length === 0) return '+0.0s'; + const startTime = events[0]!.timestamp; + const currentTime = events[Math.min(position, events.length) - 1]!.timestamp; + const diff = currentTime - startTime; + if (diff < 60) return `+${diff.toFixed(1)}s`; + const mins = Math.floor(diff / 60); + const secs = diff % 60; + return `+${mins}m${secs.toFixed(0)}s`; +} + +export function ReplayBar() { + const replayPosition = useWorkflowStore((s) => s.replayPosition); + const replayTotalEvents = useWorkflowStore((s) => s.replayTotalEvents); + const replayPlaying = useWorkflowStore((s) => s.replayPlaying); + const replaySpeed = useWorkflowStore((s) => s.replaySpeed); + const replayEvents = useWorkflowStore((s) => s.replayEvents); + const setReplayPosition = useWorkflowStore((s) => s.setReplayPosition); + const setReplayPlaying = useWorkflowStore((s) => s.setReplayPlaying); + const setReplaySpeed = useWorkflowStore((s) => s.setReplaySpeed); + + const handleSliderChange = (e: React.ChangeEvent) => { + const pos = parseInt(e.target.value, 10); + setReplayPosition(pos); + // Pause when user manually scrubs + if (replayPlaying) setReplayPlaying(false); + }; + + const togglePlayPause = () => { + if (!replayPlaying && replayPosition >= replayTotalEvents) { + // Restart from beginning if at end + setReplayPosition(0); + } + setReplayPlaying(!replayPlaying); + }; + + const pct = replayTotalEvents > 0 ? (replayPosition / replayTotalEvents) * 100 : 0; + + return ( +
+ {/* Play/Pause button */} + + + {/* Slider */} +
+ + +
+ + {/* Timestamp */} + + {formatRelativeTime(replayEvents, replayPosition)} + + + {/* Event counter */} + + Event {replayPosition}/{replayTotalEvents} + + + {/* Speed buttons */} +
+ {SPEEDS.map((speed) => ( + + ))} +
+
+ ); +} diff --git a/src/conductor/web/frontend/src/hooks/use-replay.ts b/src/conductor/web/frontend/src/hooks/use-replay.ts new file mode 100644 index 0000000..450dfa1 --- /dev/null +++ b/src/conductor/web/frontend/src/hooks/use-replay.ts @@ -0,0 +1,60 @@ +import { useEffect, useRef } from 'react'; +import { useWorkflowStore } from '@/stores/workflow-store'; +import type { WorkflowEvent } from '@/types/events'; + +export function useReplay() { + const setReplayMode = useWorkflowStore((s) => s.setReplayMode); + const setWsStatus = useWorkflowStore((s) => s.setWsStatus); + const replayPlaying = useWorkflowStore((s) => s.replayPlaying); + const replayPosition = useWorkflowStore((s) => s.replayPosition); + const replayTotalEvents = useWorkflowStore((s) => s.replayTotalEvents); + const replaySpeed = useWorkflowStore((s) => s.replaySpeed); + const replayEvents = useWorkflowStore((s) => s.replayEvents); + const setReplayPosition = useWorkflowStore((s) => s.setReplayPosition); + + // Load events on mount + useEffect(() => { + setWsStatus('connecting'); + fetch('/api/state') + .then((r) => r.json()) + .then((events: WorkflowEvent[]) => { + setReplayMode(events); + setWsStatus('connected'); + }) + .catch((err) => { + console.error('Failed to load replay events:', err); + setWsStatus('disconnected'); + }); + }, [setReplayMode, setWsStatus]); + + // Auto-play timer + const timerRef = useRef | null>(null); + + useEffect(() => { + if (!replayPlaying || replayPosition >= replayTotalEvents) { + if (timerRef.current) clearTimeout(timerRef.current); + // Auto-pause at end + if (replayPlaying && replayPosition >= replayTotalEvents) { + useWorkflowStore.getState().setReplayPlaying(false); + } + return; + } + + // Calculate delay between events based on timestamps and speed + const currentEvent = replayEvents[replayPosition - 1]; + const nextEvent = replayEvents[replayPosition]; + let delay = 100; + if (currentEvent && nextEvent) { + const timeDiff = (nextEvent.timestamp - currentEvent.timestamp) * 1000; + delay = Math.max(16, Math.min(timeDiff / replaySpeed, 2000)); + } + + timerRef.current = setTimeout(() => { + setReplayPosition(replayPosition + 1); + }, delay); + + return () => { + if (timerRef.current) clearTimeout(timerRef.current); + }; + }, [replayPlaying, replayPosition, replayTotalEvents, replaySpeed, replayEvents, setReplayPosition]); +} diff --git a/src/conductor/web/frontend/src/stores/workflow-store.ts b/src/conductor/web/frontend/src/stores/workflow-store.ts index dc2390a..fdaaccb 100644 --- a/src/conductor/web/frontend/src/stores/workflow-store.ts +++ b/src/conductor/web/frontend/src/stores/workflow-store.ts @@ -208,6 +208,14 @@ interface WorkflowState { lastEventTime: number | null; isPaused: boolean; + // Replay mode state + replayMode: boolean; + replayEvents: WorkflowEvent[]; + replayPosition: number; + replayTotalEvents: number; + replayPlaying: boolean; + replaySpeed: number; + // Actions processEvent: (event: WorkflowEvent) => void; replayState: (events: WorkflowEvent[]) => void; @@ -216,6 +224,12 @@ interface WorkflowState { setEdgeHighlight: (from: string, to: string, state: 'highlighted' | 'taken' | 'failed') => void; clearEdgeHighlight: (from: string, to: string) => void; + // Replay actions + setReplayMode: (events: WorkflowEvent[]) => void; + setReplayPosition: (position: number) => void; + setReplayPlaying: (playing: boolean) => void; + setReplaySpeed: (speed: number) => void; + // WebSocket send function (set by use-websocket hook) _wsSend: ((data: object) => void) | null; setWsSend: (fn: ((data: object) => void) | null) => void; @@ -279,6 +293,12 @@ export const useWorkflowStore = create((set) => ({ workflowOutput: null, lastEventTime: null, isPaused: false, + replayMode: false, + replayEvents: [], + replayPosition: 0, + replayTotalEvents: 0, + replayPlaying: false, + replaySpeed: 1, _wsSend: null, setWsSend: (fn) => { @@ -355,6 +375,89 @@ export const useWorkflowStore = create((set) => ({ set({ selectedNode: name }); }, + setReplayMode: (events: WorkflowEvent[]) => { + set((state) => { + const newState: WorkflowState = { + ...state, + replayMode: true, + replayEvents: events, + replayTotalEvents: events.length, + replayPosition: events.length, + replayPlaying: false, + replaySpeed: 1, + agentsCompleted: 0, + totalCost: 0, + totalTokens: 0, + nodes: {}, + groupProgress: {}, + highlightedEdges: [], + eventLog: [], + activityLog: [], + workflowOutput: null, + workflowFailedAgent: null, + }; + for (const event of events) { + const handler = eventHandlers[event.type]; + if (handler) handler(newState, event.data, event.timestamp); + const logEntry = buildLogEntry(event); + if (logEntry) newState.eventLog.push(logEntry); + const activityEntry = buildActivityLogEntry(event); + if (activityEntry) newState.activityLog.push(activityEntry); + newState.lastEventTime = event.timestamp; + } + return newState; + }); + }, + + setReplayPosition: (position: number) => { + set((state) => { + const events = state.replayEvents.slice(0, position); + const newState: WorkflowState = { + ...state, + replayPosition: position, + agentsCompleted: 0, + totalCost: 0, + totalTokens: 0, + nodes: {}, + groupProgress: {}, + highlightedEdges: [], + eventLog: [], + activityLog: [], + workflowOutput: null, + workflowFailedAgent: null, + workflowStatus: 'pending', + workflowStartTime: null, + workflowName: '', + workflowFailure: null, + entryPoint: null, + agents: [], + routes: [], + parallelGroups: [], + forEachGroups: [], + isPaused: false, + lastEventTime: null, + }; + for (const event of events) { + const handler = eventHandlers[event.type]; + if (handler) handler(newState, event.data, event.timestamp); + const logEntry = buildLogEntry(event); + if (logEntry) newState.eventLog.push(logEntry); + const activityEntry = buildActivityLogEntry(event); + if (activityEntry) newState.activityLog.push(activityEntry); + newState.lastEventTime = event.timestamp; + } + return newState; + }); + }, + + setReplayPlaying: (playing: boolean) => { + set({ replayPlaying: playing }); + }, + + setReplaySpeed: (speed: number) => { + set({ replaySpeed: speed }); + }, + setWsStatus: (status: WsStatus) => { set({ wsStatus: status }); }, diff --git a/src/conductor/web/replay.py b/src/conductor/web/replay.py new file mode 100644 index 0000000..2f7fa8e --- /dev/null +++ b/src/conductor/web/replay.py @@ -0,0 +1,257 @@ +"""Replay dashboard for visualizing recorded workflow event logs. + +Loads events from a JSON or JSONL file and serves the same React frontend +with a replay-mode API that the frontend uses to render a timeline slider. + +Example:: + + dashboard = ReplayDashboard(Path("conductor-logs.json")) + await dashboard.start() + print(dashboard.url) # http://127.0.0.1: + ... + await dashboard.stop() +""" + +from __future__ import annotations + +import asyncio +import contextlib +import json +import logging +from pathlib import Path +from typing import Any + +from fastapi import FastAPI +from fastapi.responses import FileResponse, JSONResponse +from fastapi.staticfiles import StaticFiles + +logger = logging.getLogger(__name__) + +_STATIC_DIR = Path(__file__).parent / "static" + + +def _load_events(log_path: Path) -> list[dict[str, Any]]: + """Load events from a JSON array or JSONL file. + + Tries JSON array first; if that fails, falls back to JSONL + (one JSON object per line, blank lines skipped). + + Args: + log_path: Path to the event log file. + + Returns: + List of event dicts. + + Raises: + ValueError: If the file cannot be parsed as JSON or JSONL. + """ + text = log_path.read_text(encoding="utf-8") + + # Try JSON array first + try: + data = json.loads(text) + if isinstance(data, list): + return data + except json.JSONDecodeError: + pass + + # Try JSONL + events: list[dict[str, Any]] = [] + errors: list[str] = [] + for lineno, line in enumerate(text.splitlines(), start=1): + stripped = line.strip() + if not stripped: + continue + try: + obj = json.loads(stripped) + if isinstance(obj, dict): + events.append(obj) + else: + errors.append(f"line {lineno}: expected object, got {type(obj).__name__}") + except json.JSONDecodeError as exc: + errors.append(f"line {lineno}: {exc}") + + if events: + if errors: + logger.warning("Skipped %d malformed line(s) in %s", len(errors), log_path) + return events + + raise ValueError( + f"Cannot parse {log_path} as JSON array or JSONL. " + f"First error: {errors[0] if errors else 'file is empty'}" + ) + + +class ReplayDashboard: + """Replay dashboard for visualizing recorded workflow event logs. + + Loads events from a JSON or JSONL file and serves the same React frontend + with a replay-mode API that the frontend uses to render a timeline slider. + + Args: + log_path: Path to the event log file (JSON array or JSONL). + host: Address to bind the server to. + port: Port to bind (0 = OS auto-select). + """ + + def __init__( + self, + log_path: Path, + *, + host: str = "127.0.0.1", + port: int = 0, + ) -> None: + self._log_path = log_path + self._host = host + self._port = port + + self._events = _load_events(log_path) + logger.info("Loaded %d events from %s", len(self._events), log_path) + + # Server internals + self._server: Any = None + self._serve_task: asyncio.Task[None] | None = None + self._actual_port: int | None = None + + self._app = self._create_app() + + def _create_app(self) -> FastAPI: + """Create the FastAPI application with replay routes.""" + app = FastAPI( + title="Conductor Replay Dashboard", + docs_url=None, + redoc_url=None, + ) + + events = self._events + + @app.get("/") + async def index() -> FileResponse: + return FileResponse( + _STATIC_DIR / "index.html", + media_type="text/html", + ) + + @app.get("/favicon.svg") + async def favicon() -> FileResponse: + return FileResponse( + _STATIC_DIR / "favicon.svg", + media_type="image/svg+xml", + ) + + @app.get("/api/state") + async def get_state() -> JSONResponse: + """Return all events for the frontend to render.""" + return JSONResponse(content=events) + + @app.get("/api/replay/info") + async def replay_info() -> JSONResponse: + """Return replay metadata for the frontend timeline.""" + start_time: float | None = None + end_time: float | None = None + workflow_name: str | None = None + + if events: + start_time = events[0].get("timestamp") + end_time = events[-1].get("timestamp") + + for ev in events: + if ev.get("type") == "workflow_started": + data = ev.get("data", {}) + workflow_name = data.get("workflow_name") or data.get("name") + break + + return JSONResponse( + content={ + "mode": "replay", + "totalEvents": len(events), + "startTime": start_time, + "endTime": end_time, + "workflowName": workflow_name, + } + ) + + @app.get("/api/logs") + async def download_logs() -> JSONResponse: + """Download the full event log as a JSON file.""" + return JSONResponse( + content=events, + headers={ + "Content-Disposition": 'attachment; filename="conductor-logs.json"', + }, + ) + + # Mount static assets (Vite build output: hashed JS/CSS bundles) + assets_dir = _STATIC_DIR / "assets" + if assets_dir.is_dir(): + app.mount("/assets", StaticFiles(directory=assets_dir), name="assets") + + return app + + # ------------------------------------------------------------------ + # Server lifecycle + # ------------------------------------------------------------------ + + async def start(self) -> None: + """Start the uvicorn server as an asyncio task. + + Waits until the server socket is bound and the actual port is + known before returning. + """ + import uvicorn + + config = uvicorn.Config( + app=self._app, + host=self._host, + port=self._port, + log_level="warning", + ) + self._server = uvicorn.Server(config) + + self._serve_task = asyncio.create_task(self._server.serve()) + + # Wait for server to bind + while not self._server.started: + if self._serve_task.done(): + if self._serve_task.cancelled(): + raise RuntimeError("Server task was cancelled before starting") + exc = self._serve_task.exception() + raise RuntimeError(f"Server failed to start: {exc}") from exc + await asyncio.sleep(0.05) + + # Extract actual port from bound sockets + for server in self._server.servers: + for socket in server.sockets: + addr = socket.getsockname() + self._actual_port = addr[1] + break + if self._actual_port is not None: + break + + if self._actual_port is None: + self._actual_port = self._port + + async def stop(self) -> None: + """Shut down the server gracefully.""" + if self._server is not None: + self._server.should_exit = True + + if self._serve_task is not None: + with contextlib.suppress(asyncio.CancelledError): + await self._serve_task + self._serve_task = None + + # ------------------------------------------------------------------ + # Properties + # ------------------------------------------------------------------ + + @property + def url(self) -> str: + """Return the dashboard URL (e.g., ``http://127.0.0.1:8080``).""" + port = self._actual_port if self._actual_port is not None else self._port + return f"http://{self._host}:{port}" + + @property + def app(self) -> FastAPI: + """Return the FastAPI application (useful for testing).""" + return self._app diff --git a/src/conductor/web/static/assets/index-BnXLFDTL.js b/src/conductor/web/static/assets/index-BnXLFDTL.js new file mode 100644 index 0000000..2a6a68e --- /dev/null +++ b/src/conductor/web/static/assets/index-BnXLFDTL.js @@ -0,0 +1,297 @@ +var N2=Object.defineProperty;var k2=(e,n,i)=>n in e?N2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>k2(e,typeof n!="symbol"?n+"":n,i);function C2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Ro(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hd={exports:{}},eo={};/** + * @license React + * react-jsx-runtime.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 cx;function T2(){if(cx)return eo;cx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return eo.Fragment=n,eo.jsx=i,eo.jsxs=i,eo}var fx;function z2(){return fx||(fx=1,Hd.exports=T2()),Hd.exports}var b=z2(),Bd={exports:{}},ze={};/** + * @license React + * react.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 dx;function A2(){if(dx)return ze;dx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),y=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=y&&U[y]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}var A=_.prototype=new z;A.constructor=_,k(A,E.prototype),A.isPureReactComponent=!0;var B=Array.isArray;function T(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,P,N){var Y=N.ref;return{$$typeof:e,type:U,key:P,ref:Y!==void 0?Y:null,props:N}}function X(U,P){return R(U.type,P,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return P[N]})}var ee=/\/+/g;function L(U,P){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):P.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,P,N,Y,F){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),P,N,Y,F)}}if(ne)return F=F(U),ne=Y===""?"."+L(U,0):Y,B(F)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(F,P,N,"",function(ye){return ye})):F!=null&&(H(F)&&(F=X(F,N+(F.key==null||U&&U.key===F.key?"":(""+F.key).replace(ee,"$&/")+"/")+ne)),P.push(F)),1;ne=0;var re=Y===""?".":Y+":";if(B(U))for(var se=0;se>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function A(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,A(D),!w)if(i(d)!==null)w=!0,T||(T=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var T=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,A(D),$=!0;break t}p===i(d)&&l(d),A(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():T=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,T||(T=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function O2(){return mx||(mx=1,Ud.exports=j2()),Ud.exports}var Vd={exports:{}},Yt={};/** + * @license React + * react-dom.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 gx;function D2(){if(gx)return Yt;gx=1;var e=Lo();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vd.exports=D2(),Vd.exports}/** + * @license React + * react-dom-client.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 xx;function R2(){if(xx)return to;xx=1;var e=O2(),n=Lo(),i=wb();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Za._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1)":-1g||Q[c]!==le[g]){var ce=` +`+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` +Error generating stack: `+c.message+` +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,bn=e.unstable_shouldYield,An=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,Mn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&Mn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,on=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/on|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function os(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,us=null;function Dm(){if(us)return us;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Q_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function Z_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),us=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=nu(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(E2){return r(te,E2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=un(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Pe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),sg(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=hE(Q,c);Oa(t,r,ce,pn(t))}else Oa(t,r,c,pn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},pn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function vE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?vE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},pn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function bE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=pn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function wE(t,r,a){var c=pn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=pn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,sn(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=wE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(fn(r),r):(fn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(fn(r),r):(fn(r),null)}return fn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=zs(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Ps&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Ps&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return fn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function kE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(fn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(fn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return fn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&fn(r);break;case 13:fn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:fn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;FE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function CE(t,r){if(t=t.containerInfo,bd=cu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Pe&6)!==0)throw Error(l(331));var O=Pe;if(Pe|=4,W0(x.current),Z0(x,x.current,C,a),Pe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=Sn(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=Sn(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new AE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=RE.bind(null,t,r,a),r.then(t,t))}function RE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Pe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Fo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function LE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function HE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function BE(t,r){return Ut(t,r)}var Ws=null,zl=null,fd=!1,eu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,fd||(fd=!0,UE())}function Ga(t,r){if(!dd&&eu){dd=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function qE(){wy()}function wy(){eu=fd=!1;var t=0;ei!==0&&ZE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function l2(t){Er.D(t),Gy("dns-prefetch",t,null)}function a2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function o2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}Tn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),Tn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!Tn.has(x)&&(t=p({rel:"modulepreload",href:t},r),Tn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function u2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=Tn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function c2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=Tn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function f2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=Tn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),Tn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Tn.set(t,a),x||d2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function d2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=Tn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,lu(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=Tn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function h2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function p2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=Tn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function m2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(g2,t),su=null,ou.call(t))}function g2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}var H2=L2();/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const B2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Sb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var q2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const U2=V.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>V.createElement("svg",{ref:d,...q2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Sb("lucide",o),...f},[...u.map(([h,m])=>V.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Qe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(U2,{ref:s,iconNode:n,className:Sb(`lucide-${B2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _b=Qe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const I2=Qe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Bi=Qe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ra=Qe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ho=Qe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const V2=Qe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Y2=Qe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const G2=Qe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $2=Qe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Eb=Qe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X2=Qe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const P2=Qe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const F2=Qe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Q2=Qe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z2=Qe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const So=Qe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const K2=Qe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J2=Qe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vp=Qe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const W2=Qe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eN=Qe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tN=Qe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nN=Qe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const bx=Qe("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nb=Qe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rN=Qe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iN=Qe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lN=Qe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aN=Qe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lc=Qe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?wx(e):wx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=xu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=vu(n);s&&o.eventLog.push(s);const u=bu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=xu[s.type];u&&u(o,s.data,s.timestamp);const f=vu(s);f&&o.eventLog.push(f);const d=bu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),xu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function vu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Du(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function bu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=he(v=>v.workflowName),n=he(v=>v.workflowStatus),i=he(v=>v.isPaused),[l,o]=V.useState(!1),[s,u]=V.useState(!1),[f,d]=V.useState(!1),h=n==="running"||n==="pending";V.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},y=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 + hover:bg-emerald-500/20 hover:border-emerald-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Vp,{className:"w-3 h-3"}),s?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:y,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-red-500/10 text-red-400 border border-red-500/20 + hover:bg-red-500/20 hover:border-red-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(lc,{className:"w-3 h-3"}),f?"Killing...":"Kill"]})]}):h?b.jsxs("button",{onClick:m,disabled:l,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-red-500/10 text-red-400 border border-red-500/20 + hover:bg-red-500/20 hover:border-red-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] + hover:text-[var(--text)] hover:bg-[var(--surface)] + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function In(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function hN(e,n){if(n<=0)return`${e.toLocaleString()} tokens (limit unknown)`;const i=o=>o.toLocaleString(),l=(e/n*100).toFixed(1);return`${i(e)} / ${i(n)} (${l}%)`}function Cb(){const e=he(s=>s.workflowStatus),n=he(s=>s.workflowStartTime),[i,l]=V.useState("—"),o=V.useRef(null);return V.useEffect(()=>{if(e==="running"&&n!=null){const s=()=>{const u=Date.now()/1e3-n;l(In(u))};return s(),o.current=setInterval(s,500),()=>{o.current&&clearInterval(o.current)}}else(e==="completed"||e==="failed")&&o.current&&(clearInterval(o.current),o.current=null)},[e,n]),i}function pN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const mN=[1,2,4,8];function gN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function yN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + footer input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--accent); + border: 2px solid var(--surface); + cursor: pointer; + box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); + } + footer input[type="range"]::-moz-range-thumb { + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--accent); + border: 2px solid var(--surface); + cursor: pointer; + box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); + } + `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:gN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:mN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,_x=M2.useId,xN=typeof _x=="function"?_x:()=>null;let vN=0;function Gp(e=null){const n=xN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+vN++),e??i.current}function Tb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:A,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return T(I.current)},isExpanded(){return!T(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,T,H,R]);const ee=A(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(Tb,{...e,forwardedRef:n}));Tb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Ru=-1,ci=null;function bN(e,n){if(n){const i=(n&Ob)!==0,l=(n&Db)!==0,o=(n&Rb)!==0,s=(n&Lb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function wN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Ru=-1)}function Yd(e,n){var i,l;const o=bN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Ru>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Ru)}Ru=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function zb(e){return e.type==="keydown"}function Ab(e){return e.type.startsWith("pointer")}function Mb(e){return e.type.startsWith("mouse")}function oc(e){if(Ab(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Mb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function SN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function _N(e,n,i){return e.xn.x&&e.yn.y}function EN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:kx(e),b:kx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Nx(Ex(i.a)),b:Nx(Ex(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const NN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function kN(e){var n;const i=getComputedStyle((n=jb(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function CN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||kN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||NN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Ex(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),CN(i))return i}return null}function Nx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kx(e){const n=[];for(;e;)n.push(e),e=jb(e);return n}function jb(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Ob=1,Db=2,Rb=4,Lb=8,TN=SN()==="coarse";let Un=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function zN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Yu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Yu(),p===1&&Li.delete(u),Un.includes(f)){const y=Un.indexOf(f);y>=0&&Un.splice(y,1),Xp(),o("up",!0,null)}}}function AN(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Yu(),Un.length>0&&(Gu("down",e),e.preventDefault(),Hb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,Gu("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}Gu("move",e),Xp(),Un.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,Un.length>0&&(e.preventDefault(),Hb(n)||e.stopImmediatePropagation()),Gu("up",e),$p({target:n,x:i,y:l}),Xp(),Yu()}function Hb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){Un.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=TN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&EN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(_N(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}Un.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;Un.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):wN()}let Pd=new AbortController;function Yu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(Un.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",AN,e),l.addEventListener("pointermove",Gd,e))}))}function Gu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=Un.includes(i);l(e,o,n)})}function MN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function gn(e,n,i){return Vi(e,n,i)===0}function jN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),gn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(jN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!gn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return gn(m,100)?u:o}function ON({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Bb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function qb(e,n,i){const l=Bb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ub(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function DN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function RN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ub(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=DN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const A=l[z],{collapsedSize:B=0,collapsible:T,minSize:q=0}=_.constraints;if(A!=null&&T){const M=fo({delta:gn(A,B)?q-B:B-A,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:qb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Cx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function wu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Tx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Vb(e){return`react-resizable-panels:${e}`}function Yb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Gb(e,n){try{const i=Vb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function IN(e,n,i){var l,o;const s=(l=Gb(e,i))!==null&&l!==void 0?l:{},u=Yb(n);return(o=s[u])!==null&&o!==void 0?o:null}function VN(e,n,i,l,o){var s;const u=Vb(e),f=Yb(n),d=(s=Gb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function zx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!gn(l,100)&&i.length>0)for(let s=0;s(Tx(ho),ho.getItem(e)),setItem:(e,n)=>{Tx(ho),ho.setItem(e,n)}},Ax={};function $b({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=MN(),_=V.useRef({}),A=V.useRef(new Map),B=V.useRef(0),T=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current,ne=zx({layout:N,panelConstraints:K.map(re=>re.constraints)});Cx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=y,T.current.onLayout=u,T.current.storage=d}),RN({committedValuesRef:T,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Ax[e];Y==null&&(Y=UN(VN,YN),Ax[e]=Y);const F=[...N],K=new Map(A.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){A.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});wu(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=A.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});wu(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return qN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=T.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=IN(N,ne,F);ye&&(A.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=BN({panelDataArray:ne}));const se=zx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Cx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=T.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=qb(ve,N,re);let We=HN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(An=>An.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:zb(ne)?"keyboard":"mouse-or-touch"}),bn=!wu(_e,Dt);(Ab(ne)||Mb(ne))&&B.current!=We&&(B.current=We,!bn&&We!==0?zt?Xd(N,We<0?Ob:Db):Xd(N,We<0?Rb:Lb):Xd(N,0)),bn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});wu(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=T.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Ib(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement($b,{...e,forwardedRef:n}));$b.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function GN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=Bb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:A,groupId:B,registerResizeHandle:T,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=T(X);D(()=>U)}},[i,X,T]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return zN(X,U,A,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,A,i,J,T,X,G,q,M]),GN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:A,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Lu.prototype=cc.prototype={constructor:Lu,on:function(e,n){var i=this._,l=XN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),jx.hasOwnProperty(n)?{space:jx[n],local:e}:e}function FN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function QN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xb(e){var n=fc(e);return(n.local?QN:FN)(n)}function ZN(){}function Pp(e){return e==null?ZN:function(){return this.querySelector(e)}}function KN(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function Sk(e){e||(e=_k);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function Ek(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Nk(){return Array.from(this)}function kk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Hk:typeof n=="function"?qk:Bk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Kb(e).getComputedStyle(e,null).getPropertyValue(n)}function Ik(e){return function(){delete this[e]}}function Vk(e,n){return function(){this[e]=n}}function Yk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Gk(e,n){return arguments.length>1?this.each((n==null?Ik:typeof n=="function"?Yk:Vk)(e,n)):this.node()[e]}function Jb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new Wb(e)}function Wb(e){this._node=e,this._names=Jb(e.getAttribute("class")||"")}Wb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ew(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function xC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function TC(e){return!e.ctrlKey&&!e.button}function zC(){return this.parentNode}function AC(e,n){return n??{x:e.x,y:e.y}}function MC(){return navigator.maxTouchPoints||"ontouchstart"in this}function aw(){var e=TC,n=zC,i=AC,l=MC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(A){A.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,CC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(A,B){if(!(m||!e.call(this,A,B))){var T=_(this,n.call(this,A,B),A,B,"mouse");T&&(yn(A.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),iw(A.view),Fd(A),h=!1,f=A.clientX,d=A.clientY,T("start",A))}}function w(A){if($l(A),!h){var B=A.clientX-f,T=A.clientY-d;h=B*B+T*T>p}o.mouse("drag",A)}function k(A){yn(A.view).on("mousemove.drag mouseup.drag",null),lw(A.view,h),$l(A),o.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var T=A.changedTouches,q=n.call(this,A,B),M=T.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?_u(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?_u(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=OC.exec(e))?new nn(n[1],n[2],n[3],1):(n=DC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=RC.exec(e))?_u(n[1],n[2],n[3],n[4]):(n=LC.exec(e))?_u(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=HC.exec(e))?qx(n[1],n[2]/100,n[3]/100,1):(n=BC.exec(e))?qx(n[1],n[2]/100,n[3]/100,n[4]):Ox.hasOwnProperty(e)?Lx(Ox[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Lx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function _u(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function IC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?IC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Pu(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:Hx,formatHex:Hx,formatHex8:VC,formatRgb:Bx,toString:Bx}));function Hx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function VC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bx(){const e=Pu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Pu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function qx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Hn(e,n,i,l)}function sw(e){if(e instanceof Hn)return new Hn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Hn;if(e instanceof Hn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Hn(u,f,d,e.opacity)}function YC(e,n,i,l){return arguments.length===1?sw(e):new Hn(e,n,i,l??1)}function Hn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Hn,YC,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new Hn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Hn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Hn(Ux(this.h),Eu(this.s),Eu(this.l),Pu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ux(this.h)}, ${Eu(this.s)*100}%, ${Eu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ux(e){return e=(e||0)%360,e<0?e+360:e}function Eu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function GC(e,n){return function(i){return e+i*n}}function $C(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function XC(e){return(e=+e)==1?uw:function(n,i){return i-n?$C(n,i,e):Zp(isNaN(n)?i:n)}}function uw(e,n){var i=n-e;return i?GC(e,i):Zp(isNaN(e)?n:e)}const Fu=(function e(n){var i=XC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=uw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function PC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Yx(){Gi=(Zu=To.now())+dc,Kl=po=0;try{s3()}finally{Kl=0,c3(),Gi=0}}function u3(){var e=To.now(),n=e-Zu;n>hw&&(dc-=n,Zu=e)}function c3(){for(var e,n=Qu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Qu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Yx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Zu=To.now(),io=setInterval(u3,hw)),Kl=1,pw(Yx))}}function Gx(e,n,i){var l=new Ku;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var f3=cc("start","end","cancel","interrupt"),d3=[],gw=0,$x=1,Ep=2,Bu=3,Xx=4,Np=5,qu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;h3(e,i,{name:n,index:l,group:o,on:f3,tween:d3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:gw})}function Jp(e,n){var i=Yn(e,n);if(i.state>gw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Bu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function h3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=mw(s,0,i.time);function s(h){i.state=$x,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==$x)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Bu)return Gx(u);v.state===Xx?(v.state=qu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function Y3(e,n,i){var l,o,s=V3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function G3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(Y3(i,e,n))}function $3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function X3(){return this.on("end.remove",$3(this._id))}function P3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function xT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);bw.prototype=Cr.prototype;function bw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function vT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function bT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Px(){return this.__zoom||pc}function wT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ST(){return navigator.maxTouchPoints||"ontouchstart"in this}function _T(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function ww(){var e=vT,n=bT,i=_T,l=wT,o=ST,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Hu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Px).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Px),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?A(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?A(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function A(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=T(Z,J).event($),U=n.apply(Z,J),P=D==null?A(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function T(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=yn(this.that).datum();h.call(L,this.that,new xT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=T(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Ln(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Uu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=T(this,G,!0).event(L),Z=yn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Ln(L,D),j=L.clientX,U=L.clientY;iw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Uu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Ln(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),lw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Ln(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?yn(this).transition().duration(f).call(B,j,$,L):yn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=T(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Ln(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Uu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=T(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sw=["Enter"," ","Escape"],_w={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Ew={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Ju;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ju||(Ju={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Nw(e){return e===null?null:e?"valid":"invalid"}const kw=e=>"id"in e&&"source"in e&&"target"in e,ET=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},NT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?Wu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,Wu(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},kT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function CT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function TT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=CT(e,u),d=Io(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Cw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function zT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=kT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Tw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Qx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,zw=(e,n,i=15,l=40)=>{const o=Qx(e.x,l,n.width-l)*i,s=Qx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Wu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Aw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Zx=e=>Bn(e.width)&&Bn(e.height)&&Bn(e.x)&&Bn(e.y),Bn=e=>!isNaN(e)&&isFinite(e),AT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},ec=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function MT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function jT(e,n,i,l,o,s){const{x:u,y:f}=ec(e,[n,i,l]),{x:d,y:h}=ec({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=MT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=jT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Mw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Kx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function OT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function DT(e){return{..._w,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=qn(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ow=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},RT=["INPUT","SELECT","TEXTAREA"];function Dw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:RT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Rw=e=>"clientX"in e,qn=(e,n)=>{var s,u;const i=Rw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Jx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Lw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Cu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Wx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Cu(n-l,s),i];case we.Right:return[n+Cu(l-n,s),i];case we.Top:return[n,i-Cu(i-o,s)];case we.Bottom:return[n,i+Cu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Wx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Wx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const BT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,qT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),UT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||BT;let o;return kw(e)?o={...e}:o={...e,id:l(e)},qT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Hw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const ev={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},IT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function VT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=ev[n],d=ev[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=IT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,A]=Hw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?T:q:w=y==="x"?q:T}else{const T=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:T:w=f.y===v?T:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,A]}function YT(e,n,i,l){const o=Math.min(tv(e,n)/2,tv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let A="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function $T(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const qw=1e3,XT=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},PT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function FT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function QT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(PT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?qw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:QT(p,y),z:Uw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function ZT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}ZT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*XT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?qw:0,{x:y,y:v,z:w}=KT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Uw(e,n,i){const l=Bn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function KT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Tw(p,d,n));const y=Uw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Aw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(A=>{e.some(B=>B.id===A.id)||o.push({id:A.id,type:"position",position:{x:A.position.x+v,y:A.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function WT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function lv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Iw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;lv("source",d,m,e,o,u),lv("target",d,h,e,s,f),n.set(l.id,l)}}function Vw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vw(i,n):!1}function av(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function ez(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Vw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function tz({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function nz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:A,isSelectable:B,nodeId:T,nodeClickDistance:q=0}){y=yn(A);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Io(f)):null,K=Y&&$?tz({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Cw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!T&&j))){const[ne,re]=Jd({nodeId:T,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),T||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=zw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&T&&((Y=ee.get(T))!=null&&Y.selected||P()),B&&J&&T&&(e==null||e(T));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=ez(ee,G,N,T),f.size>0&&(i||j||!T&&U)){const[F,K]=Jd({nodeId:T,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),T||U==null||U(I.sourceEvent,K)}}const H=aw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=qn(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=qn(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=qn(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!T&&D){const[$,Z]=Jd({nodeId:T,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),T||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!av(ee,`.${z}`,A))&&(!_||av(ee,_,A))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function rz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const iz=250;function lz(e,n,i,l){var f,d;let o=[],s=1/0;const u=rz(e,i,n+iz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Yw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Gw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function az(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const $w=()=>!0;function oz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=$w,onReconnectEnd:z,updateConnection:_,getTransform:A,getFromHandle:B,autoPanSpeed:T,dragThreshold:q=1,handleDomNode:M}){const R=Ow(e.target);let X=0,H;const{x:I,y:ee}=qn(e),L=Gw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Yw(o,L,l,d,n);if(!$)return;let Z=qn(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=zw(Z,G,T);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Fx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=qn(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=A();Z=qn(ve,G),H=lz(Yo(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Xw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=az(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?ec({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Fx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Xw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=$w,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=qn(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Gw(void 0,S),_=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?A:o,target:p?l:_,targetHandle:p?o:A};E.connection=q;const R=B&&T&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||A!==o);E.isValid=R&&h(q),E.toHandle=Yw(_,z,A,m,i,!0)}return E}const Ap={onPointerDown:oz,isValid:Xw};function sz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=yn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const A=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=A[2]*Math.pow(2,T*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const A=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(A[2],Math.log(A[2]))*(v?-1:1),M={x:A[0]-T[0]*q,y:A[1]-T[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:A[2]},R,f)},z=ww().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Ln}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),uz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=uz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Fw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function cz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Ln(m),E=Fw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function fz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function dz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function hz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function pz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function mz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function gz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=ww().scaleExtent([n,i]).translateExtent(l),y=yn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Fw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!Bn(ne)||ne<0?0:ne);const ye=se?cz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):fz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=dz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=hz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=pz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=mz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function A(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?bw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function T(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!Bn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:T,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:A,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function yz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function ov(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Tu(e,n,i){return Math.max(0,n-e,e-i)}function sv(e,n){return e?!n:n}function xz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:A,width:B,height:T,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=T+(h?-R:R),I=-s[0]*B,ee=-s[1]*T;let L=Tu(X,k,S),G=Tu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(A+R+ee,u[0][1]):!h&&R>0&&(J=si(A+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(A+R,f[0][1]):!h&&R<0&&(J=oi(A+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Tu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(A+ee+X/q,u[1][1])*q:J=oi(A+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(A+X/q,f[1][1])*q:J=si(A+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Tu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(sv(d,h)?-M:M)/q:M=(sv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?A+R:A;return{width:B+(d?-M:M),height:T+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Qw={width:0,height:0,x:0,y:0},vz={...Qw,pointerX:0,pointerY:0,aspectRatio:1};function bz(e){return[[0,0],[e.measured.width,e.measured.height]]}function wz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function Sz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=yn(e);let u={controlDirection:ov("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Qw},z={...vz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:ov(h)};let _,A=null,B=[],T,q,M,R=!1;const X=aw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;A=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:A});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=I.get(_.parentId),q=T&&_.extent==="parent"?bz(T):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=wz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:A}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=xz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),T&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** + * @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 uv;function _z(){if(uv)return ih;uv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var cv;function Ez(){return cv||(cv=1,rh.exports=_z()),rh.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 fv;function Nz(){if(fv)return nh;fv=1;var e=Lo(),n=Ez();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(T){if(!z){if(z=!0,_=T,T=y(T),v!==void 0&&k.hasValue){var q=k.value;if(v(q,T))return A=q}return A=T}if(q=A,l(_,T))return q;var M=y(T);return v!==void 0&&v(q,M)?(_=T,q):(_=T,A=M)}var z=!1,_,A,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var dv;function kz(){return dv||(dv=1,th.exports=Nz()),th.exports}var Cz=kz();const Tz=Ro(Cz),zz={},hv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(zz?"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()}},h=n=e(l,o,d);return d},Az=e=>e?hv(e):hv,{useDebugValue:Mz}=ql,{useSyncExternalStoreWithSelector:jz}=Tz,Oz=e=>e;function Zw(e,n=Oz,i){const l=jz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Mz(l),l}const pv=(e,n)=>{const i=Az(e),l=(o,s=n)=>Zw(i,o,s);return Object.assign(l,i),l},Dz=(e,n)=>e?pv(e,n):pv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Rz=wb();const xc=V.createContext(null),Lz=xc.Provider,Kw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Kw);return Zw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Kw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mv={display:"none"},Hz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Jw="react-flow__node-desc",Ww="react-flow__edge-desc",Bz="react-flow__aria-live",qz=e=>e.ariaLiveMessage,Uz=e=>e.ariaLabelConfig;function Iz({rfId:e}){const n=Ie(qz);return b.jsx("div",{id:`${Bz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Hz,children:n})}function Vz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Uz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Jw}-${e}`,style:mv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${Ww}-${e}`,style:mv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Iz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Yz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Gz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},zu=e=>e.id;function $z(e,n){return dt(e.selectedNodes.map(zu),n.selectedNodes.map(zu))&&dt(e.selectedEdges.map(zu),n.selectedEdges.map(zu))}function Xz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Gz,$z);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Pz=e=>!!e.onSelectionChangeHandlers;function Fz({onSelectionChange:e}){const n=Ie(Pz);return e||n?b.jsx(Xz,{onSelectionChange:e}):null}const eS=[0,0],Qz={x:0,y:0,zoom:1},Zz=["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"],gv=[...Zz,"rfId"],Kz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),yv={translateExtent:zo,nodeOrigin:eS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Jz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Kz,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=yv,f()}),[]);const m=V.useRef(yv);return V.useEffect(()=>{for(const p of gv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:DT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},gv.map(p=>e[p])),null}function xv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Wz(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=xv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=xv())!=null&&l.matches?"dark":"light"}const vv=typeof document<"u"?document:null;function Oo(e=null,n={target:vv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` +`).replace(` + +`,` ++`).split(` +`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??vv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Dw(v))return!1;const k=wv(v.code,f);if(s.current.add(v[k]),bv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=wv(v.code,f);bv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function bv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function wv(e,n){return n.includes(e)?"code":"key"}const eA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=ec(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function tS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)tA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function tA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function nS(e,n){return tS(e,n)}function rS(e,n){return tS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Sv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function _v(e){return{id:e.id,type:"remove"}}const Ev=e=>ET(e),nA=e=>kw(e);function iS(e){return V.forwardRef(e)}const rA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Nv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>iA(()=>i(o=>o+BigInt(1))));return rA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function iA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const lS=V.createContext(null);function lA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Sv({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Nv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Sv({items:v,lookup:y}))},[]),s=Nv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(lS.Provider,{value:u,children:e})}function aA(){const e=V.useContext(lS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const oA=e=>!!e.panZoom;function Go(){const e=eA(),n=ht(),i=aA(),l=Ie(oA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Ev(p)?p:y.get(p.id),k=w.parentId?jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Ev(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&nA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:A}=n.getState(),{nodes:B,edges:T}=await zT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:A}),q=T.length>0,M=B.length>0;if(q){const R=T.map(_v);S==null||S(T),z(R)}if(M){const R=B.map(_v);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,y=!0,v)=>{const w=Zx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),A=Mo(_,k);return y&&A>0||A>=_.width*_.height||A>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Zx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return NT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??OT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const kv=e=>e.selected,sA=typeof window<"u"?window:void 0;function uA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:sA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(kv),edges:u.filter(kv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function cA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},fA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function dA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:A}){const B=ht(),T=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(fA,dt),X=Oo(y),H=V.useRef();cA(T);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(T.current){H.current=gz({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:T.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:A,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,A,_]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:bc,children:w})}const hA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function pA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(hA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},mA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function gA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(mA,dt),A=E&&(e||S),B=V.useRef(null),T=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(T.current=J==null?void 0:J.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=qn(Z.nativeEvent,T.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!T.current||!J)return;const{x:re,y:se}=qn(Z.nativeEvent,T.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Kx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Kx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:A?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:A?void 0:p,onPointerMove:A?G:y,onPointerUp:A?D:void 0,onPointerDownCapture:A?L:void 0,onClickCapture:A?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(pA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function aS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=nz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const yA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function oS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=yA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:A}=Cw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=A,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),xA=cm.Provider;cm.Consumer;const sS=()=>V.useContext(cm),vA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),bA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function wA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=sS(),{connectOnClick:z,noPanClassName:_,rfId:A}=Ie(vA,dt),{connectingFrom:B,connectingTo:T,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(bA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(UT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Rw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ow($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${A}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:T,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const ln=V.memo(iS(wA));function SA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(ln,{type:"source",position:i,isConnectable:n})]})}function _A({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(ln,{type:"source",position:l,isConnectable:n})]})}function EA(){return null}function NA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const tc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Cv={input:SA,default:_A,output:NA,group:EA};function kA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const CA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:Bn(n)?n:null,height:Bn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function TA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(CA,dt),d=oS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(aS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(tc,v.key)&&(v.preventDefault(),d({direction:tc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Tv=typeof window<"u"?window:void 0,zA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(zA,dt),P=Oo(h,{target:Tv}),N=Oo(k,{target:Tv}),Y=N||M,F=N||A,K=m&&Y!==!0,ne=P||U||K;return uA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(dA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(gA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(TA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}uS.displayName="FlowRenderer";const AA=V.memo(uS),MA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function jA(e){return Ie(V.useCallback(MA(e),[e]),dt)}const OA=e=>e.updateNodeInternals;function DA(){const e=Ie(OA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function RA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function LA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:A,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let T=_.type||"default",q=(S==null?void 0:S[T])||Cv[T];q===void 0&&(z==null||z("003",tr.error003(T)),T="default",q=(S==null?void 0:S.default)||Cv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Mw(_),L=RA({node:_,nodeType:T,hasDimensions:ee,resizeObserver:p}),G=aS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=oS();if(_.hidden)return null;const $=Ar(_),Z=kA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...A.userNode}):void 0,U=l?re=>l(re,{...A.userNode}):void 0,P=o?re=>o(re,{...A.userNode}):void 0,N=s?re=>s(re,{...A.userNode}):void 0,Y=u?re=>u(re,{...A.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...A.userNode})},K=re=>{if(!(Dw(re.nativeEvent)||w)){if(Sw.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(tc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),D({direction:tc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Jw}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(xA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:T,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:A.z,parentId:_.parentId,...$})})})}var HA=V.memo(LA);const BA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function cS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(BA,dt),u=jA(e.onlyRenderVisibleElements),f=DA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(HA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}cS.displayName="NodeRenderer";const qA=V.memo(cS);function UA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&HT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const IA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},VA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zv={[Ju.Arrow]:IA,[Ju.ArrowClosed]:VA};function YA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(zv,e)?zv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const GA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=YA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},fS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>$T(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(GA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};fS.displayName="MarkerDefinitions";var $A=V.memo(fS);function dS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}dS.displayName="EdgeText";const XA=V.memo(dS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Bn(n)&&Bn(i)?b.jsx(XA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Av({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function hS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Av({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Av({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function pS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,A]=hS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:A,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const PA=pS({isInternal:!1}),mS=pS({isInternal:!0});PA.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const yS=gS({isInternal:!1}),xS=gS({isInternal:!0});yS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function vS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(yS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const FA=vS({isInternal:!1}),bS=vS({isInternal:!0});FA.displayName="StepEdge";bS.displayName="StepEdgeInternal";function wS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Bw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const QA=wS({isInternal:!1}),SS=wS({isInternal:!0});QA.displayName="StraightEdge";SS.displayName="StraightEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const ZA=_S({isInternal:!1}),ES=_S({isInternal:!0});ZA.displayName="BezierEdge";ES.displayName="BezierEdgeInternal";const Mv={default:ES,straight:SS,step:bS,smoothstep:xS,simplebezier:mS},jv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},KA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,JA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Ov="react-flow__edgeupdater";function Dv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Ov,`${Ov}-${f}`]),cx:KA(n,l,e),cy:JA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function WA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:T,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(A,i,B.type),H==null||H(U,P)};Ap.onPointerDown(A.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>k(A,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=A=>k(A,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Dv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Dv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function eM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const A=Ie(xe=>xe.defaultEdgeOptions);_=A?{...A,..._}:_;let B=_.type||"default",T=(k==null?void 0:k[B])||Mv[B];T===void 0&&(E==null||E("011",tr.error011(B)),B="default",T=(k==null?void 0:k.default)||Mv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...jv};const Me=GT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:LT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||jv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Sw.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${Ww}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(WA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var tM=V.memo(eM);const nM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function NS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(nM,dt),A=UA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx($A,{defaultColor:e,rfId:i}),A.map(B=>b.jsx(tM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}NS.displayName="EdgeRenderer";const rM=V.memo(NS),iM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function lM({children:e}){const n=Ie(iM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function aM(e){const n=Go(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const oM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function sM(e){const n=Ie(oM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function uM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function cM(e){return uM}function fM(e){const n=cM();return Ie(n,dt)}const dM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function hM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(dM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Nw(f)]),children:b.jsx(kS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const kS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=fM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Nw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=hS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Bw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};kS.displayName="ConnectionLine";const pM={};function Rv(e=pM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function mM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function CS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Rv(e),Rv(n),mM(),aM(i),sM(ue),b.jsx(AA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(lM,{children:[b.jsx(rM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:bn,disableKeyboardA11y:An,rfId:Mr}),b.jsx(hM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(qA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:bn,noDragClassName:Ut,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}CS.displayName="GraphView";const gM=V.memo(CS),Lv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],A=p??zo;Iw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:A,zIndexMode:y});let T=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Ew},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:AT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:_w,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},yM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Dz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:A,height:B,minZoom:T,maxZoom:q}=w();E&&(await TT({nodes:S,width:A,height:B,panZoom:E,minZoom:T,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Lv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:T}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:T});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Iw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:A,nodeOrigin:B,nodeExtent:T,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=JT(S,z,_,A,B,T,R);H&&(FT(z,_,{nodeOrigin:B,nodeExtent:T,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:A,triggerNodeChanges:B,connection:T,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=A.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&T.inProgress&&T.fromNode.id===H.id){const L=Xi(H,T.fromHandle,we.Left,!0);q({...T,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,A,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=nS(S,_);z(T)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=rS(S,_);z(T)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));A(T);return}A(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));B(T);return}B(Vl(z,new Set([...S]))),A(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=A.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),T(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:A}=w();if(!A)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),T=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(T)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:q}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(zp(E,z,_,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:A,translateExtent:B}=w();return WT({delta:S,panZoom:A,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:A,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await T.setViewport({x:_/2-S*q,y:A/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Ew}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Lv()})}},Object.is);function xM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>yM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Lz,{value:w,children:b.jsx(lA,{children:v})})}function vM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(xM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const bM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function wM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=eS,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At=!0,defaultViewport:Mr=Qz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:Mn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:on=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Fo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Cc,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:is,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:jn,height:Pt,colorMode:ls="light",debug:Ac,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",os=Wz(ls),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,...bM},ref:Ft,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(vM,{nodes:e,edges:n,width:jn,height:Pt,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(gM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:Mn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:on,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Jz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:as,zIndexMode:gi}),b.jsx(Fz,{onSelectionChange:ee}),Fo,b.jsx(Yz,{proOptions:mi,position:ts}),b.jsx(Vz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var SM=iS(wM);const _M=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function EM({children:e}){const n=Ie(_M);return n?Rz.createPortal(e,n):null}function NM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>nS(o,s)),[]);return[n,i,l]}function kM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function CM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function TM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const zM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},AM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(AM,dt),w=l||zM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],A=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,T=[A[0]*y[2]||1+B[0]/2,A[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:k?b.jsx(TM,{radius:_/2,className:m}):b.jsx(CM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}TS.displayName="Background";const MM=V.memo(TS);function jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function DM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 LM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Au({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const HM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function zS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(HM,dt),{zoomIn:_,zoomOut:A,fitView:B}=Go(),T=()=>{_(),s==null||s()},q=()=>{A(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Au,{onClick:T,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(jM,{})}),b.jsx(Au,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(OM,{})})]}),i&&b.jsx(Au,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(DM,{})}),l&&b.jsx(Au,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(LM,{}):b.jsx(RM,{})}),m]})}zS.displayName="Controls";const BM=V.memo(zS);function qM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const UM=V.memo(qM),IM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function VM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=UM,onClick:u}){const f=Ie(IM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(GM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function YM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:A}=Ar(S);return{node:S,x:E,y:z,width:_,height:A}},dt);return!h||h.hidden||!Mw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const GM=V.memo(YM);var $M=V.memo(VM);const XM=200,PM=150,FM=e=>!e.hidden,QM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Aw(Io(e.nodeLookup,{filter:FM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ZM="react-flow__minimap-desc";function AS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:A=5}){const B=ht(),T=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(QM,dt),G=(e==null?void 0:e.width)??XM,D=(e==null?void 0:e.height)??PM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=A*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${ZM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(T.current&&X)return se.current=sz({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx($M,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AS.displayName="MiniMap";const KM=V.memo(AS),JM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,WM={[na.Line]:"right",[na.Handle]:"bottom-right"};function e4({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=sS(),_=typeof e=="string"?e:z,A=ht(),B=V.useRef(null),T=i===na.Handle,q=Ie(V.useCallback(JM(T&&v),[T,v]),dt),M=V.useRef(null),R=n??WM[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=Sz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=A.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=A.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...jw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};A.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(e4);var oh,Hv;function fm(){if(Hv)return oh;Hv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Bv;function t4(){return Bv||(Bv=1,sh="2.2.4"),sh}var uh,qv;function n4(){return qv||(qv=1,uh={Graph:fm(),version:t4()}),uh}var ch,Uv;function r4(){if(Uv)return ch;Uv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Iv;function i4(){if(Iv)return fh;Iv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Vv;function MS(){if(Vv)return dh;Vv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Gv;function l4(){if(Gv)return ph;Gv=1;var e=jS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,$v;function OS(){if($v)return mh;$v=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Xv;function a4(){if(Xv)return gh;Xv=1;var e=OS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Pv;function o4(){if(Pv)return yh;Pv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Kv;function u4(){if(Kv)return wh;Kv=1;var e=RS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Jv;function c4(){if(Jv)return Sh;Jv=1;var e=RS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,Wv;function f4(){if(Wv)return _h;Wv=1;var e=fm(),n=MS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,e1;function d4(){return e1||(e1=1,Eh={components:i4(),dijkstra:jS(),dijkstraAll:l4(),findCycles:a4(),floydWarshall:o4(),isAcyclic:s4(),postorder:u4(),preorder:c4(),prim:f4(),tarjan:OS(),topsort:DS()}),Eh}var Nh,t1;function Vn(){if(t1)return Nh;t1=1;var e=n4();return Nh={Graph:e.Graph,json:r4(),alg:d4(),version:e.version},Nh}var kh,n1;function h4(){if(n1)return kh;n1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,r1;function p4(){if(r1)return Ch;r1=1;let e=Vn().Graph,n=h4();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=A(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function A(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,l1;function m4(){if(l1)return zh;l1=1;let e=p4(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,a1;function g4(){if(a1)return Ah;a1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,o1;function nc(){if(o1)return Mh;o1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,s1;function LS(){if(s1)return jh;s1=1;var e=Vn().Graph,n=nc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,u1;function y4(){if(u1)return Oh;u1=1;var e=LS(),n=nc().slack,i=nc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var A,B;A=y(_);)B=v(_,z,A),w(_,z,A,B)}function f(z,_){var A=o(z,z.nodes());A=A.slice(0,A.length-1),A.forEach(B=>d(z,_,B))}function d(z,_,A){var B=z.node(A),T=B.parent;z.edge(A,T).cutvalue=h(z,_,A)}function h(z,_,A){var B=z.node(A),T=B.parent,q=!0,M=_.edge(A,T),R=0;return M||(q=!1,M=_.edge(T,A)),R=M.weight,_.nodeEdges(A).forEach(X=>{var H=X.v===A,I=H?X.w:X.v;if(I!==T){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,A,I)){var G=z.edge(A,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,A,B,T){var q=A,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(A=p(z,_,A,R,B))}),M.low=q,M.lim=A++,T?M.parent=T:delete M.parent,A}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,A){var B=A.v,T=A.w;_.hasEdge(B,T)||(B=A.w,T=A.v);var q=z.node(B),M=z.node(T),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(T).parent),B=l(z,A);B=B.slice(1),B.forEach(T=>{var q=z.node(T).parent,M=_.edge(T,q),R=!1;M||(M=_.edge(q,T),R=!0),_.node(T).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,A){return z.hasEdge(_,A)}function E(z,_,A){return A.low<=_.lim&&_.lim<=A.lim}return Oh}var Dh,c1;function x4(){if(c1)return Dh;c1=1;var e=nc(),n=e.longestPath,i=LS(),l=y4();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,f1;function v4(){if(f1)return Rh;f1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,d1;function b4(){if(d1)return Lh;d1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,A=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,T=_!==A?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(A,k,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,h1;function w4(){if(h1)return Hh;h1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,m1;function _4(){if(m1)return qh;m1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,g1;function E4(){if(g1)return Uh;g1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,y1;function N4(){if(y1)return Ih;y1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,x1;function k4(){if(x1)return Vh;x1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,v1;function C4(){if(v1)return Yh;v1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,b1;function T4(){if(b1)return Gh;b1=1;let e=N4(),n=k4(),i=C4();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,w1;function z4(){if(w1)return $h;w1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,S1;function A4(){if(S1)return Xh;S1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,_1;function M4(){if(_1)return Ph;_1=1;let e=_4(),n=E4(),i=T4(),l=z4(),o=A4(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,A=0;A<4;++_,++A){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,E1;function j4(){if(E1)return Fh;E1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(A,B){let T=0,q=0,M=A.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function A(B,T){let q=-1,M,R=0;return T.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(T,R,H,q,M),R=H,q=M)}_(T,R,T.length,M,B.length)}),T}return E.length&&E.reduce(A),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let A=E;E=z,z=A}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let A={},B={},T={};return E.forEach(q=>{q.forEach((M,R)=>{A[M]=M,B[M]=M,T[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>T[I]-T[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+T.edge(ee)),0)}function X(H){let I=T.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-T.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let A=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(A.setNode(X),M){var H=z[M],I=A.edge(H,X);A.setEdge(H,X,Math.max(T(S,R,M),I||0))}M=R})}),A}function m(S,E){return Object.values(E).reduce((z,_)=>{let A=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;A=Math.max(M+R,A),B=Math.min(M-R,B)});const T=A-B;return T{["l","r"].forEach(T=>{let q=B+T,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);T!=="l"&&(X=A-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let A=Object.values(S).map(B=>B[_]).sort((B,T)=>B-T);return(A[1]+A[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},A;["u","d"].forEach(T=>{A=T==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(A=A.map(H=>Object.values(H).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),R=f(S,A,z,M),X=d(S,A,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[T+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,A,B)=>{let T=_.node(A),q=_.node(B),M=0,R;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":R=-T.width/2;break;case"r":R=T.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(T.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,N1;function O4(){if(N1)return Qh;N1=1;let e=Ct(),n=j4().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,k1;function D4(){if(k1)return Zh;k1=1;let e=m4(),n=g4(),i=x4(),l=Ct().normalizeRanks,o=v4(),s=Ct().removeEmptyRanks,u=b4(),f=w4(),d=S4(),h=M4(),m=O4(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],A={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(A).forEach(se=>{re[se]===void 0&&(re[se]=A[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},T,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,C1;function R4(){if(C1)return Kh;C1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,T1;function L4(){return T1||(T1=1,Jh="1.1.8"),Jh}var Wh,z1;function H4(){return z1||(z1=1,Wh={graphlib:Vn(),layout:D4(),debug:R4(),util:{time:Ct().time,notime:Ct().notime},version:L4()}),Wh}var B4=H4();const A1=Ro(B4),go=200,Yl=56,M1=20,j1=40,q4=20,O1=12;function U4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+M1*2,E=j1+k*Yl+(k-1)*O1+q4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return I4(f,d),{nodes:f,edges:d}}function I4(e,n){var l,o,s,u;const i=new A1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);A1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:In(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const V4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.elapsed}),h=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.model}),m=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.tokens}),p=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.input_tokens}),y=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.output_tokens}),v=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.cost_usd}),w=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.iteration}),k=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_type}),S=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_message}),E=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.context_pct}),z=Y4(i,u),_=G4(u),A=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:z,className:"text-[var(--text-muted)]"};if(u==="completed"){const B=[];return d!=null&&B.push(In(d)),m!=null&&B.push(`${Wn(m)} tok`),v!=null&&B.push(Ql(v)),{text:B.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",_),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(I2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),A.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",A.className),children:A.text})]}),E!=null&&b.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-b-lg overflow-hidden",style:{backgroundColor:"rgba(255,255,255,0.06)"},children:b.jsx("div",{className:Ye("h-full transition-all duration-500",E>=90?"animate-[context-pulse_2s_ease-in-out_infinite]":""),style:{width:`${Math.min(E,100)}%`,backgroundColor:E>=90?"#ef4444":E>=70?"#f59e0b":"#22c55e"}})})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Y4(e,n){const i=he(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=V.useState("0.0s"),s=V.useRef(null);return V.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function G4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const $4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=X4(i,u),v=P4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(In(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function X4(e,n){const i=he(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=V.useState("0.0s"),s=V.useRef(null);return V.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function P4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const F4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=Q4(u);return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Q4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Z4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Q2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=K4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function K4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const J4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Nb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),W4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),ej=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",A=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",T=2,q;A?(B="var(--failed)",T=3):z?(B="var(--edge-taken)",T=3):_&&(B="var(--edge-active)",T=3),E&&!z&&!_&&!A&&(q="6 3");const M=A?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(EM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:A?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:A||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${A?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),A&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function tj(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function nj(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Cb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(Y2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(lc,{className:"w-3.5 h-3.5"})})]})})}const rj={agentNode:V4,scriptNode:$4,gateNode:F4,groupNode:Z4,endNode:J4,startNode:W4},ij={animatedEdge:ej},lj={type:"animatedEdge"};function aj(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function oj(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=NM([]),[k,S,E]=kM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=U4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),A=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(aj,{}),b.jsx(tj,{}),b.jsx(nj,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(SM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:A,nodeTypes:rj,edgeTypes:ij,defaultEdgeOptions:lj,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(MM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(KM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(BM,{showInteractive:!1,children:b.jsx(sj,{})}),b.jsx(uj,{})]})]})}function sj(){const{fitView:e}=Go(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(K2,{className:"w-3.5 h-3.5"})})}function uj(){const{fitView:e}=Go();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function HS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:In(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.context_window_used!=null&&e.context_window_max!=null&&n.push({label:"Context",value:hN(e.context_window_used,e.context_window_max)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=kb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(cj,{text:d}):d})]})}function cj({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(fj,{entry:s},u))})]})}function fj({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function dj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:HS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:hj(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:HS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function hj(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function pj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:In(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` + +--- stderr --- +`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Pi,{output:o,title:"Output"})]})}function mj(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const gj=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,yj=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xj={};function R1(e,n){return(xj.jsx?yj:gj).test(e)}const vj=/[ \t\n\f\r]/g;function bj(e){return typeof e=="object"?e.type==="text"?L1(e.value):!1:L1(e)}function L1(e){return e.replace(vj,"")===""}class Xo{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function BS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Xo(i,l,n)}function jp(e){return e.toLowerCase()}class an{constructor(n,i){this.attribute=i,this.property=n}}an.prototype.attribute="";an.prototype.booleanish=!1;an.prototype.boolean=!1;an.prototype.commaOrSpaceSeparated=!1;an.prototype.commaSeparated=!1;an.prototype.defined=!1;an.prototype.mustUseProperty=!1;an.prototype.number=!1;an.prototype.overloadedBoolean=!1;an.prototype.property="";an.prototype.spaceSeparated=!1;an.prototype.space=void 0;let wj=0;const Oe=Fi(),kt=Fi(),Op=Fi(),me=Fi(),at=Fi(),Pl=Fi(),mn=Fi();function Fi(){return 2**++wj}const Dp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:mn,commaSeparated:Pl,number:me,overloadedBoolean:Op,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),ep=Object.keys(Dp);class pm extends an{constructor(n,i,l,o){let s=-1;if(super(n,i),H1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&kj.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,zj);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(Nj,Tj);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function Tj(e){return"-"+e.toLowerCase()}function zj(e){return e.charAt(1).toUpperCase()}const Aj=BS([qS,Sj,VS,YS,GS],"html"),mm=BS([qS,_j,VS,YS,GS],"svg");function Mj(e){return e.join(" ").trim()}var Ll={},tp,q1;function jj(){if(q1)return tp;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function A(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new T(L),R(),G}}function T(L){this.start=L,this.end={line:z,column:_},this.source=E.source}T.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return A(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,A(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var U1;function Oj(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(jj());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function Dj(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function Rj(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(Oj()),i=Dj();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var Lj=Rj();const Hj=Ro(Lj),$S=XS("end"),gm=XS("start");function XS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Bj(e){const n=gm(e),i=$S(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,qj=new Map,Uj=/[A-Z]/g,Ij=new Set(["table","tbody","thead","tfoot","tr"]),Vj=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Yj(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Kj(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=Zj(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:Aj,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=FS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function FS(e,n,i){if(n.type==="element")return Gj(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return $j(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return Pj(e,n,i);if(n.type==="mdxjsEsm")return Xj(e,n);if(n.type==="root")return Fj(e,n,i);if(n.type==="text")return Qj(e,n)}function Gj(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=ZS(e,n.tagName,!1),u=Jj(e,n);let f=vm(e,n);return Ij.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!bj(d):!0})),QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function $j(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function Xj(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function Pj(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:ZS(e,n.name,!0),u=Wj(e,n),f=vm(e,n);return QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Fj(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function Qj(e,n){return n.value}function QS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function Zj(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Kj(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Jj(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=e5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Vj.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function Wj(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:qj;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const P1={}.hasOwnProperty;function s5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),xn=di(/[\dA-Za-z]/),f5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),d5=di(/[\dA-Fa-f]/),h5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Fe(e){return e===-2||e===-1||e===32}const p5=di(new RegExp("\\p{P}|\\p{S}","u")),m5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Fe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Fe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),T=q;T_;){const B=i[A];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function b5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||m5(e))return 1;if(p5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};Z1(p,-d),Z1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=zn(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=zn(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=zn(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=zn(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=zn(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Fe(T)?ot(e,z,"linePrefix",s+1)(T):z(T)}function z(T){return T===null||Te(T)?e.check(K1,k,A)(T):(e.enter("codeFlowValue"),_(T))}function _(T){return T===null||Te(T)?(e.exit("codeFlowValue"),z(T)):(e.consume(T),_)}function A(T){return e.exit("codeFenced"),n(T)}function B(T,q,M){let R=0;return X;function X(G){return T.enter("lineEnding"),T.consume(G),T.exit("lineEnding"),H}function H(G){return T.enter("codeFencedFence"),Fe(G)?ot(T,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(T.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,T.consume(G),ee):R>=u?(T.exit("codeFencedFenceSequence"),Fe(G)?ot(T,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(T.exit("codeFencedFence"),q(G)):M(G)}}}function j5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:D5},O5={partial:!0,tokenize:R5};function D5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(O5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function R5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const L5={name:"codeText",previous:B5,resolve:H5,tokenize:q5};function H5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function r_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Fe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function l_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Fe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const P5={name:"definition",tokenize:Q5},F5={partial:!0,tokenize:Z5};function Q5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return i_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return r_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(F5,p,p)(v)}function p(v){return Fe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Z5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return l_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Fe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const K5={name:"hardBreakEscape",tokenize:J5};function J5(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const W5={name:"headingAtx",resolve:eO,tokenize:tO};function eO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function tO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Fe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const nO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],rO={concrete:!0,name:"htmlFlow",resolveTo:aO,tokenize:oO},iO={partial:!0,tokenize:uO},lO={partial:!0,tokenize:sO};function aO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function oO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&W1.includes(F)?(o=1,l.interrupt?n(N):I(N)):nO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||xn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Fe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),A):Fe(N)?(e.consume(N),_):X(N)}function A(N){return N===45||N===46||N===58||N===95||xn(N)?(e.consume(N),A):B(N)}function B(N){return N===61?(e.consume(N),T):Fe(N)?(e.consume(N),B):_(N)}function T(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Fe(N)?(e.consume(N),T):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Fe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Fe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(iO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(lO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return W1.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function sO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function uO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const cO={name:"htmlText",tokenize:fO};function fO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),A):Te(j)?(u=_,$(j)):(e.consume(j),_)}function A(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),T):i(j)}function T(j){return j===45||xn(j)?(e.consume(j),T):q(j)}function q(j){return Te(j)?(u=q,$(j)):Fe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||xn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Fe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||xn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Fe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Fe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Fe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:mO,resolveTo:gO,tokenize:yO},dO={tokenize:xO},hO={tokenize:vO},pO={tokenize:bO};function mO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Fe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:AO},exit:jO,name:"list",tokenize:zO},CO={partial:!0,tokenize:OO},TO={partial:!0,tokenize:MO};function zO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Iu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(CO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Fe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function AO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Fe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(TO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function MO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function jO(e){e.exit(this.containerState.type)}function OO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Fe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:DO,tokenize:RO};function DO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function RO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Fe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const LO={tokenize:HO};function HO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(V5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const BO={resolveAll:o_()},qO=a_("string"),UO=a_("text");function a_(e){return{resolveAll:o_(e==="text"?IO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function eD(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function pD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function mD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function gD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function yD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function xD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function c_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function vD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function bD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function wD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function SD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function _D(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function ED(e,n,i){const l=e.all(n),o=i?ND(i):f_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function kD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=$S(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function MD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function DD(e,n){const i={type:"text",value:OD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function RD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const LD={blockquote:fD,break:dD,code:hD,delete:pD,emphasis:mD,footnoteReference:gD,heading:yD,html:xD,imageReference:vD,image:bD,inlineCode:wD,linkReference:SD,link:_D,listItem:ED,list:kD,paragraph:CD,root:TD,strong:zD,table:AD,tableCell:jD,tableRow:MD,text:DD,thematicBreak:RD,toml:Mu,yaml:Mu,definition:Mu,footnoteDefinition:Mu};function Mu(){}const d_=-1,Sc=0,wo=1,rc=2,_m=3,Em=4,Nm=5,km=6,h_=7,p_=8,ab=typeof self=="object"?self:globalThis,HD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case d_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case rc:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case h_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case p_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>HD(new Map,e)(0),Hl="",{toString:BD}={},{keys:qD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=BD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[rc,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[h_,i]:[rc,i]},ju=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),UD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=p_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([d_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case rc:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of qD(u))(e||!ju(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(ju(uo(y))||ju(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!ju(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return UD(!(n||i),!!n,new Map,l)(e),l},ic=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function ID(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function VD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function YD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||ID,l=e.options.footnoteBackLabel||VD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...ic(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` +`}]}}const m_=(function(e){if(e==null)return PD;if(typeof e=="function")return _c(e);if(typeof e=="object")return Array.isArray(e)?GD(e):$D(e);if(typeof e=="string")return XD(e);throw new Error("Expected function, string, or object as test")});function GD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=g_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=JD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==ZD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` +`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=eR(e,n),l=i.one(e,void 0),o=YD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function lR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var lp,hb;function aR(){if(hb)return lp;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:cR,dirname:fR,extname:dR,join:hR,sep:"/"};function cR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Po(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function fR(e){if(Po(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function dR(e){Po(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function hR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function mR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Po(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const gR={cwd:yR};function yR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function xR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return vR(e)}function vR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const _R=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ou(e){return ER(e)?e:new x_(e)}function ER(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function NR(e){return typeof e=="string"||kR(e)}function kR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const CR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},TR=/^(https?|ircs?|mailto|xmpp)$/i,zR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function AR(e){const n=MR(e),i=jR(e);return OR(n.runSync(n.parse(i),i),e)}function MR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return _R().use(cD).use(i).use(lR,l).use(n)}function jR(e){const n=e.children||"",i=new x_;return typeof n=="string"&&(i.value=n),i}function OR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||DR;for(const m of zR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+CR+m.id,void 0);return y_(e,h),Yj(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function DR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||TR.test(e.slice(0,n))?e:""}function RR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,A)=>{if(v){if(A){o(_),d(A);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const A=l===_.value,B=l!==null&&!A;return b.jsx("button",{disabled:!v&&!A,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${A?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:A?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${A?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(LR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(AR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function LR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function HR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:In(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(qR,{item:m},`${m.key}-${m.index}`))})]})]})}const BR={running:lt.running,completed:lt.completed,failed:lt.failed};function qR({item:e}){const[n,i]=V.useState(e.status==="running"),l=BR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:In(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:In(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function UR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return pj;case"human_gate":return RR;case"parallel_group":case"for_each_group":return HR;default:return dj}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(lc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Vu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function IR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(V2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(F2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(VR,{entries:n}):o==="log"?b.jsx(YR,{entries:e}):b.jsx(GR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function VR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Vu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(lc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=v_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Vu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Vu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function YR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=v_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Vu(s.message)})]},u)})})}function v_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function GR({output:e,status:n}){const[i,l]=V.useState(!1),o=kb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx($R,{text:o}):o})})]})}function $R({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function XR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(oj,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(UR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(IR,{})})]})}const PR=3e4;function FR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,PR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function QR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function ZR(){return FR(),null}function KR(){return QR(),null}function JR(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(KR,{}):b.jsx(ZR,{}),b.jsx(dN,{}),b.jsx(XR,{}),i?b.jsx(yN,{}):b.jsx(pN,{})]})}H2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(JR,{})})); diff --git a/src/conductor/web/static/assets/index-CSvVmXiA.css b/src/conductor/web/static/assets/index-CSvVmXiA.css new file mode 100644 index 0000000..e9b1005 --- /dev/null +++ b/src/conductor/web/static/assets/index-CSvVmXiA.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[context-pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite context-pulse}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes context-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 2f73573..d61c448 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
diff --git a/tests/test_cli/test_replay_command.py b/tests/test_cli/test_replay_command.py new file mode 100644 index 0000000..dda5d1b --- /dev/null +++ b/tests/test_cli/test_replay_command.py @@ -0,0 +1,78 @@ +"""Tests for the replay CLI command. + +Tests cover: +- Help text +- Missing file error +- Invalid file format error +- Successful invocation (mocked server) +""" + +from __future__ import annotations + +import json +from pathlib import Path +from unittest.mock import AsyncMock, patch + +from typer.testing import CliRunner + +from conductor.cli.app import app + +runner = CliRunner() + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + + +def _write_log_file(tmp_path: Path, events: list[dict] | None = None) -> Path: + """Write a sample event log file.""" + if events is None: + events = [ + {"type": "workflow_started", "timestamp": 1.0, "data": {"name": "test"}}, + {"type": "agent_started", "timestamp": 2.0, "data": {"agent_name": "a1"}}, + {"type": "agent_completed", "timestamp": 3.0, "data": {"agent_name": "a1"}}, + ] + log_path = tmp_path / "test-log.json" + log_path.write_text(json.dumps(events)) + return log_path + + +# --------------------------------------------------------------------------- +# Tests +# --------------------------------------------------------------------------- + + +class TestReplayCommand: + """Tests for the replay CLI command.""" + + def test_help(self) -> None: + """Replay command shows help text.""" + result = runner.invoke(app, ["replay", "--help"]) + assert result.exit_code == 0 + assert "Replay a recorded workflow" in result.output + + def test_missing_file(self, tmp_path: Path) -> None: + """Replay with a nonexistent file shows error.""" + result = runner.invoke(app, ["replay", str(tmp_path / "nonexistent.json")]) + assert result.exit_code != 0 + + def test_invalid_file_format(self, tmp_path: Path) -> None: + """Replay with an invalid file shows error.""" + bad_file = tmp_path / "bad.json" + bad_file.write_text("not valid json at all garbage") + result = runner.invoke(app, ["replay", str(bad_file)]) + assert result.exit_code != 0 + + @patch("asyncio.run") + def test_invocation_calls_asyncio_run(self, mock_run: AsyncMock, tmp_path: Path) -> None: + """Replay command calls asyncio.run with a coroutine.""" + log_path = _write_log_file(tmp_path) + runner.invoke(app, ["replay", str(log_path)]) + # asyncio.run is called; the mock prevents actual server start + mock_run.assert_called_once() + + def test_custom_port_option(self) -> None: + """Replay command accepts --web-port option.""" + result = runner.invoke(app, ["replay", "--help"]) + assert "--web-port" in result.output diff --git a/tests/test_web/test_replay.py b/tests/test_web/test_replay.py new file mode 100644 index 0000000..870eee0 --- /dev/null +++ b/tests/test_web/test_replay.py @@ -0,0 +1,202 @@ +"""Tests for the ReplayDashboard server. + +Tests cover: +- Loading JSON array format +- Loading JSONL format +- GET /api/state returns all events +- GET /api/replay/info returns correct metadata +- GET /api/logs returns events with download header +- Invalid file handling +- Empty file handling +""" + +from __future__ import annotations + +import json +from pathlib import Path + +import pytest +from starlette.testclient import TestClient + +from conductor.web.replay import ReplayDashboard, _load_events + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + + +def _make_events(count: int = 3) -> list[dict]: + """Create a list of sample event dicts.""" + base_ts = 1700000000.0 + events = [ + { + "type": "workflow_started", + "timestamp": base_ts, + "data": {"name": "test-workflow", "entry_point": "agent1"}, + }, + ] + for i in range(1, count): + events.append( + { + "type": "agent_started", + "timestamp": base_ts + i * 0.5, + "data": {"agent_name": f"agent{i}"}, + } + ) + return events + + +def _write_json(path: Path, events: list[dict]) -> Path: + """Write events as a JSON array file.""" + path.write_text(json.dumps(events)) + return path + + +def _write_jsonl(path: Path, events: list[dict]) -> Path: + """Write events as a JSONL file.""" + lines = [json.dumps(e) for e in events] + path.write_text("\n".join(lines) + "\n") + return path + + +# --------------------------------------------------------------------------- +# _load_events tests +# --------------------------------------------------------------------------- + + +class TestLoadEvents: + """Tests for the _load_events function.""" + + def test_load_json_array(self, tmp_path: Path) -> None: + """Loads a JSON array file correctly.""" + events = _make_events() + path = _write_json(tmp_path / "log.json", events) + loaded = _load_events(path) + assert len(loaded) == len(events) + assert loaded[0]["type"] == "workflow_started" + + def test_load_jsonl(self, tmp_path: Path) -> None: + """Loads a JSONL file correctly.""" + events = _make_events() + path = _write_jsonl(tmp_path / "log.jsonl", events) + loaded = _load_events(path) + assert len(loaded) == len(events) + assert loaded[0]["type"] == "workflow_started" + + def test_load_jsonl_with_blank_lines(self, tmp_path: Path) -> None: + """Skips blank lines in JSONL files.""" + events = _make_events(2) + content = json.dumps(events[0]) + "\n\n" + json.dumps(events[1]) + "\n\n" + path = tmp_path / "log.jsonl" + path.write_text(content) + loaded = _load_events(path) + assert len(loaded) == 2 + + def test_load_empty_file_raises(self, tmp_path: Path) -> None: + """Raises ValueError for empty files.""" + path = tmp_path / "empty.json" + path.write_text("") + with pytest.raises(ValueError, match="empty"): + _load_events(path) + + def test_load_invalid_content_raises(self, tmp_path: Path) -> None: + """Raises ValueError for completely invalid content.""" + path = tmp_path / "bad.json" + path.write_text("this is not json at all") + with pytest.raises(ValueError, match="Cannot parse"): + _load_events(path) + + def test_load_json_non_array_falls_to_jsonl(self, tmp_path: Path) -> None: + """A JSON object (not array) falls through to JSONL parsing.""" + path = tmp_path / "obj.json" + path.write_text('{"type": "workflow_started", "timestamp": 1.0, "data": {}}') + loaded = _load_events(path) + assert len(loaded) == 1 + assert loaded[0]["type"] == "workflow_started" + + +# --------------------------------------------------------------------------- +# ReplayDashboard API tests +# --------------------------------------------------------------------------- + + +class TestReplayDashboardApi: + """Tests for the ReplayDashboard API endpoints.""" + + def _make_dashboard(self, tmp_path: Path, events: list[dict] | None = None) -> ReplayDashboard: + """Create a ReplayDashboard from a temp log file.""" + if events is None: + events = _make_events() + path = _write_json(tmp_path / "log.json", events) + return ReplayDashboard(path) + + def test_get_state_returns_all_events(self, tmp_path: Path) -> None: + """GET /api/state returns all loaded events.""" + events = _make_events(5) + dashboard = self._make_dashboard(tmp_path, events) + with TestClient(dashboard.app) as client: + resp = client.get("/api/state") + assert resp.status_code == 200 + data = resp.json() + assert len(data) == 5 + assert data[0]["type"] == "workflow_started" + + def test_replay_info(self, tmp_path: Path) -> None: + """GET /api/replay/info returns correct metadata.""" + events = _make_events(4) + dashboard = self._make_dashboard(tmp_path, events) + with TestClient(dashboard.app) as client: + resp = client.get("/api/replay/info") + assert resp.status_code == 200 + info = resp.json() + assert info["mode"] == "replay" + assert info["totalEvents"] == 4 + assert info["workflowName"] == "test-workflow" + assert info["startTime"] == events[0]["timestamp"] + assert info["endTime"] == events[-1]["timestamp"] + + def test_replay_info_no_workflow_started(self, tmp_path: Path) -> None: + """GET /api/replay/info works when no workflow_started event exists.""" + events = [ + {"type": "agent_started", "timestamp": 1.0, "data": {"agent_name": "a1"}}, + ] + dashboard = self._make_dashboard(tmp_path, events) + with TestClient(dashboard.app) as client: + resp = client.get("/api/replay/info") + info = resp.json() + assert info["workflowName"] is None + assert info["totalEvents"] == 1 + + def test_download_logs(self, tmp_path: Path) -> None: + """GET /api/logs returns events with Content-Disposition header.""" + dashboard = self._make_dashboard(tmp_path) + with TestClient(dashboard.app) as client: + resp = client.get("/api/logs") + assert resp.status_code == 200 + assert "attachment" in resp.headers.get("content-disposition", "") + assert len(resp.json()) == 3 + + def test_index_returns_html(self, tmp_path: Path) -> None: + """GET / returns the frontend HTML.""" + dashboard = self._make_dashboard(tmp_path) + with TestClient(dashboard.app) as client: + resp = client.get("/") + assert resp.status_code == 200 + assert "text/html" in resp.headers.get("content-type", "") + + def test_invalid_file_raises(self, tmp_path: Path) -> None: + """ReplayDashboard raises ValueError for invalid log files.""" + path = tmp_path / "bad.txt" + path.write_text("not json") + with pytest.raises(ValueError): + ReplayDashboard(path) + + def test_jsonl_format_works(self, tmp_path: Path) -> None: + """ReplayDashboard works with JSONL format files.""" + events = _make_events(3) + path = _write_jsonl(tmp_path / "log.jsonl", events) + dashboard = ReplayDashboard(path) + with TestClient(dashboard.app) as client: + resp = client.get("/api/state") + assert resp.status_code == 200 + assert len(resp.json()) == 3 From b3a033b80b1b3fe9a9eae086518758a0be28107d Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 21:20:27 -0400 Subject: [PATCH 02/18] fix(replay): use event timestamps for duration in replay mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In replay mode, elapsed timers (workflow duration, per-agent, per-script) now compute from event timestamps rather than Date.now(), so durations match the original workflow execution. Live mode is unchanged — the replayMode guard ensures Date.now() timers only run when replayMode is false (the default). Also restores src/lib/utils.ts and src/lib/constants.ts that were inadvertently gitignored by the top-level lib/ pattern. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../src/components/graph/AgentNode.tsx | 12 +++++- .../src/components/graph/ScriptNode.tsx | 12 +++++- .../frontend/src/hooks/use-elapsed-timer.ts | 19 ++++++++- .../web/frontend/src/lib/constants.ts | 2 +- .../web/static/assets/index-BiFZfGbw.css | 1 + .../web/static/assets/index-CSvVmXiA.css | 1 - .../{index-BnXLFDTL.js => index-h2TJpSjX.js} | 42 +++++++++---------- src/conductor/web/static/index.html | 4 +- 8 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 src/conductor/web/static/assets/index-BiFZfGbw.css delete mode 100644 src/conductor/web/static/assets/index-CSvVmXiA.css rename src/conductor/web/static/assets/{index-BnXLFDTL.js => index-h2TJpSjX.js} (77%) diff --git a/src/conductor/web/frontend/src/components/graph/AgentNode.tsx b/src/conductor/web/frontend/src/components/graph/AgentNode.tsx index e56a52d..c356259 100644 --- a/src/conductor/web/frontend/src/components/graph/AgentNode.tsx +++ b/src/conductor/web/frontend/src/components/graph/AgentNode.tsx @@ -133,11 +133,21 @@ export const AgentNode = memo(function AgentNode({ data, id, selected }: NodePro /** Hook that returns a live-ticking elapsed string while status is 'running'. */ function useLiveElapsed(id: string, status: NodeStatus): string { const startedAt = useWorkflowStore((s) => s.nodes[id]?.startedAt); + const replayMode = useWorkflowStore((s) => s.replayMode); + const lastEventTime = useWorkflowStore((s) => s.lastEventTime); const [display, setDisplay] = useState('0.0s'); const rafRef = useRef | null>(null); useEffect(() => { if (status === 'running') { + if (replayMode) { + // In replay mode, use event timestamps instead of wall clock + if (rafRef.current) clearInterval(rafRef.current); + const origin = startedAt ?? (lastEventTime ?? 0); + const now = lastEventTime ?? origin; + setDisplay(formatElapsed(now - origin)); + return; + } const origin = startedAt != null ? startedAt * 1000 : Date.now(); const tick = () => { const sec = (Date.now() - origin) / 1000; @@ -151,7 +161,7 @@ function useLiveElapsed(id: string, status: NodeStatus): string { } else { if (rafRef.current) clearInterval(rafRef.current); } - }, [status, startedAt]); + }, [status, startedAt, replayMode, lastEventTime]); return display; } diff --git a/src/conductor/web/frontend/src/components/graph/ScriptNode.tsx b/src/conductor/web/frontend/src/components/graph/ScriptNode.tsx index 7c5ca2a..1fbc3af 100644 --- a/src/conductor/web/frontend/src/components/graph/ScriptNode.tsx +++ b/src/conductor/web/frontend/src/components/graph/ScriptNode.tsx @@ -90,11 +90,21 @@ export const ScriptNode = memo(function ScriptNode({ data, id, selected }: NodeP function useLiveElapsed(id: string, status: NodeStatus): string { const startedAt = useWorkflowStore((s) => s.nodes[id]?.startedAt); + const replayMode = useWorkflowStore((s) => s.replayMode); + const lastEventTime = useWorkflowStore((s) => s.lastEventTime); const [display, setDisplay] = useState('0.0s'); const rafRef = useRef | null>(null); useEffect(() => { if (status === 'running') { + if (replayMode) { + // In replay mode, use event timestamps instead of wall clock + if (rafRef.current) clearInterval(rafRef.current); + const origin = startedAt ?? (lastEventTime ?? 0); + const now = lastEventTime ?? origin; + setDisplay(formatElapsed(now - origin)); + return; + } const origin = startedAt != null ? startedAt * 1000 : Date.now(); const tick = () => { const sec = (Date.now() - origin) / 1000; @@ -108,7 +118,7 @@ function useLiveElapsed(id: string, status: NodeStatus): string { } else { if (rafRef.current) clearInterval(rafRef.current); } - }, [status, startedAt]); + }, [status, startedAt, replayMode, lastEventTime]); return display; } diff --git a/src/conductor/web/frontend/src/hooks/use-elapsed-timer.ts b/src/conductor/web/frontend/src/hooks/use-elapsed-timer.ts index c5dd88e..93f647e 100644 --- a/src/conductor/web/frontend/src/hooks/use-elapsed-timer.ts +++ b/src/conductor/web/frontend/src/hooks/use-elapsed-timer.ts @@ -5,11 +5,26 @@ import { formatElapsed } from '@/lib/utils'; export function useElapsedTimer(): string { const workflowStatus = useWorkflowStore((s) => s.workflowStatus); const startTime = useWorkflowStore((s) => s.workflowStartTime); + const replayMode = useWorkflowStore((s) => s.replayMode); + const lastEventTime = useWorkflowStore((s) => s.lastEventTime); const [display, setDisplay] = useState('—'); const timerRef = useRef | null>(null); useEffect(() => { - if (workflowStatus === 'running' && startTime != null) { + if (startTime == null) return; + + if (replayMode) { + // In replay mode, compute elapsed from event timestamps, not wall clock + if (timerRef.current) { + clearInterval(timerRef.current); + timerRef.current = null; + } + const now = lastEventTime ?? startTime; + setDisplay(formatElapsed(now - startTime)); + return; + } + + if (workflowStatus === 'running') { const tick = () => { const elapsed = Date.now() / 1000 - startTime; setDisplay(formatElapsed(elapsed)); @@ -26,7 +41,7 @@ export function useElapsedTimer(): string { timerRef.current = null; } } - }, [workflowStatus, startTime]); + }, [workflowStatus, startTime, replayMode, lastEventTime]); return display; } diff --git a/src/conductor/web/frontend/src/lib/constants.ts b/src/conductor/web/frontend/src/lib/constants.ts index eb3a91c..37ed592 100644 --- a/src/conductor/web/frontend/src/lib/constants.ts +++ b/src/conductor/web/frontend/src/lib/constants.ts @@ -12,4 +12,4 @@ export const NODE_STATUS_HEX: Record = { }; export const CONTEXT_WARN_PCT = 70; -export const CONTEXT_DANGER_PCT = 90; +export const CONTEXT_DANGER_PCT = 90; diff --git a/src/conductor/web/static/assets/index-BiFZfGbw.css b/src/conductor/web/static/assets/index-BiFZfGbw.css new file mode 100644 index 0000000..cc4b1c9 --- /dev/null +++ b/src/conductor/web/static/assets/index-BiFZfGbw.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-CSvVmXiA.css b/src/conductor/web/static/assets/index-CSvVmXiA.css deleted file mode 100644 index e9b1005..0000000 --- a/src/conductor/web/static/assets/index-CSvVmXiA.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[context-pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite context-pulse}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes context-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-BnXLFDTL.js b/src/conductor/web/static/assets/index-h2TJpSjX.js similarity index 77% rename from src/conductor/web/static/assets/index-BnXLFDTL.js rename to src/conductor/web/static/assets/index-h2TJpSjX.js index 2a6a68e..f04c36d 100644 --- a/src/conductor/web/static/assets/index-BnXLFDTL.js +++ b/src/conductor/web/static/assets/index-h2TJpSjX.js @@ -14,7 +14,7 @@ var N2=Object.defineProperty;var k2=(e,n,i)=>n in e?N2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var dx;function A2(){if(dx)return ze;dx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),y=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=y&&U[y]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}var A=_.prototype=new z;A.constructor=_,k(A,E.prototype),A.isPureReactComponent=!0;var B=Array.isArray;function T(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,P,N){var Y=N.ref;return{$$typeof:e,type:U,key:P,ref:Y!==void 0?Y:null,props:N}}function X(U,P){return R(U.type,P,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return P[N]})}var ee=/\/+/g;function L(U,P){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):P.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,P,N,Y,F){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),P,N,Y,F)}}if(ne)return F=F(U),ne=Y===""?"."+L(U,0):Y,B(F)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(F,P,N,"",function(ye){return ye})):F!=null&&(H(F)&&(F=X(F,N+(F.key==null||U&&U.key===F.key?"":(""+F.key).replace(ee,"$&/")+"/")+ne)),P.push(F)),1;ne=0;var re=Y===""?".":Y+":";if(B(U))for(var se=0;sen in e?N2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var px;function j2(){return px||(px=1,(function(e){function n(D,$){var Z=D.length;D.push($);e:for(;0>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function A(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,A(D),!w)if(i(d)!==null)w=!0,T||(T=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var T=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,A(D),$=!0;break t}p===i(d)&&l(d),A(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():T=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,T||(T=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function O2(){return mx||(mx=1,Ud.exports=j2()),Ud.exports}var Vd={exports:{}},Yt={};/** + */var px;function j2(){return px||(px=1,(function(e){function n(D,$){var Z=D.length;D.push($);e:for(;0>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function T(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,T(D),!w)if(i(d)!==null)w=!0,A||(A=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var A=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,T(D),$=!0;break t}p===i(d)&&l(d),T(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():A=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,A||(A=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function O2(){return mx||(mx=1,Ud.exports=j2()),Ud.exports}var Vd={exports:{}},Yt={};/** * @license React * react-dom.production.js * @@ -38,15 +38,15 @@ var N2=Object.defineProperty;var k2=(e,n,i)=>n in e?N2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var xx;function R2(){if(xx)return to;xx=1;var e=O2(),n=Lo(),i=wb();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Za._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Za._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1)":-1g||Q[c]!==le[g]){var ce=` `+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` Error generating stack: `+c.message+` -`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,bn=e.unstable_shouldYield,An=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,Mn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&Mn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,on=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/on|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function os(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,us=null;function Dm(){if(us)return us;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Q_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function Z_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),us=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=nu(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(E2){return r(te,E2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=un(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Pe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),sg(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=hE(Q,c);Oa(t,r,ce,pn(t))}else Oa(t,r,c,pn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},pn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function vE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?vE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},pn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function bE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=pn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function wE(t,r,a){var c=pn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=pn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,sn(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=wE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(fn(r),r):(fn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(fn(r),r):(fn(r),null)}return fn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=zs(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Ps&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Ps&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return fn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function kE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(fn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(fn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return fn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&fn(r);break;case 13:fn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:fn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;FE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function CE(t,r){if(t=t.containerInfo,bd=cu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Pe&6)!==0)throw Error(l(331));var O=Pe;if(Pe|=4,W0(x.current),Z0(x,x.current,C,a),Pe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=Sn(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=Sn(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new AE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=RE.bind(null,t,r,a),r.then(t,t))}function RE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Pe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Fo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function LE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function HE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function BE(t,r){return Ut(t,r)}var Ws=null,zl=null,fd=!1,eu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,fd||(fd=!0,UE())}function Ga(t,r){if(!dd&&eu){dd=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function qE(){wy()}function wy(){eu=fd=!1;var t=0;ei!==0&&ZE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function l2(t){Er.D(t),Gy("dns-prefetch",t,null)}function a2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function o2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}Tn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),Tn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!Tn.has(x)&&(t=p({rel:"modulepreload",href:t},r),Tn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function u2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=Tn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function c2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=Tn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function f2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=Tn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),Tn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Tn.set(t,a),x||d2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function d2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=Tn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,lu(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=Tn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function h2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function p2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=Tn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function m2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(g2,t),su=null,ou.call(t))}function g2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}var H2=L2();/** +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function os(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,us=null;function Dm(){if(us)return us;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Q_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function Z_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),us=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=nu(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(E2){return r(te,E2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Pe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),sg(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=hE(Q,c);Oa(t,r,ce,mn(t))}else Oa(t,r,c,mn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function vE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?vE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},mn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function bE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function wE(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=wE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=zs(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Ps&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Ps&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function kE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;FE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function CE(t,r){if(t=t.containerInfo,bd=cu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Pe&6)!==0)throw Error(l(331));var O=Pe;if(Pe|=4,W0(x.current),Z0(x,x.current,C,a),Pe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new AE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=RE.bind(null,t,r,a),r.then(t,t))}function RE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Pe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Fo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function LE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function HE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function BE(t,r){return Ut(t,r)}var Ws=null,zl=null,fd=!1,eu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,fd||(fd=!0,UE())}function Ga(t,r){if(!dd&&eu){dd=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function qE(){wy()}function wy(){eu=fd=!1;var t=0;ei!==0&&ZE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function l2(t){Er.D(t),Gy("dns-prefetch",t,null)}function a2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function o2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function u2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function c2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function f2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||d2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function d2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,lu(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function h2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function p2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function m2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(g2,t),su=null,ou.call(t))}function g2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}var H2=L2();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -221,7 +221,7 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?wx(e):wx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=xu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=vu(n);s&&o.eventLog.push(s);const u=bu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=xu[s.type];u&&u(o,s.data,s.timestamp);const f=vu(s);f&&o.eventLog.push(f);const d=bu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),xu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function vu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Du(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function bu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=he(v=>v.workflowName),n=he(v=>v.workflowStatus),i=he(v=>v.isPaused),[l,o]=V.useState(!1),[s,u]=V.useState(!1),[f,d]=V.useState(!1),h=n==="running"||n==="pending";V.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},y=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?wx(e):wx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=xu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=vu(n);s&&o.eventLog.push(s);const u=bu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=xu[s.type];u&&u(o,s.data,s.timestamp);const f=vu(s);f&&o.eventLog.push(f);const d=bu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),xu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function vu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Du(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function bu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=he(v=>v.workflowName),n=he(v=>v.workflowStatus),i=he(v=>v.isPaused),[l,o]=V.useState(!1),[s,u]=V.useState(!1),[f,d]=V.useState(!1),h=n==="running"||n==="pending";V.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},y=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 hover:border-emerald-500/30 disabled:opacity-50 disabled:cursor-not-allowed @@ -236,7 +236,7 @@ Error generating stack: `+c.message+` transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function In(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function hN(e,n){if(n<=0)return`${e.toLocaleString()} tokens (limit unknown)`;const i=o=>o.toLocaleString(),l=(e/n*100).toFixed(1);return`${i(e)} / ${i(n)} (${l}%)`}function Cb(){const e=he(s=>s.workflowStatus),n=he(s=>s.workflowStartTime),[i,l]=V.useState("—"),o=V.useRef(null);return V.useEffect(()=>{if(e==="running"&&n!=null){const s=()=>{const u=Date.now()/1e3-n;l(In(u))};return s(),o.current=setInterval(s,500),()=>{o.current&&clearInterval(o.current)}}else(e==="completed"||e==="failed")&&o.current&&(clearInterval(o.current),o.current=null)},[e,n]),i}function pN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const mN=[1,2,4,8];function gN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function yN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,2,4,8];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; @@ -256,7 +256,7 @@ Error generating stack: `+c.message+` cursor: pointer; box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); } - `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:gN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:mN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,_x=M2.useId,xN=typeof _x=="function"?_x:()=>null;let vN=0;function Gp(e=null){const n=xN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+vN++),e??i.current}function Tb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:A,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return T(I.current)},isExpanded(){return!T(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,T,H,R]);const ee=A(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(Tb,{...e,forwardedRef:n}));Tb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Ru=-1,ci=null;function bN(e,n){if(n){const i=(n&Ob)!==0,l=(n&Db)!==0,o=(n&Rb)!==0,s=(n&Lb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function wN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Ru=-1)}function Yd(e,n){var i,l;const o=bN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Ru>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Ru)}Ru=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function zb(e){return e.type==="keydown"}function Ab(e){return e.type.startsWith("pointer")}function Mb(e){return e.type.startsWith("mouse")}function oc(e){if(Ab(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Mb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function SN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function _N(e,n,i){return e.xn.x&&e.yn.y}function EN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:kx(e),b:kx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Nx(Ex(i.a)),b:Nx(Ex(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const NN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function kN(e){var n;const i=getComputedStyle((n=jb(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function CN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||kN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||NN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Ex(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),CN(i))return i}return null}function Nx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kx(e){const n=[];for(;e;)n.push(e),e=jb(e);return n}function jb(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Ob=1,Db=2,Rb=4,Lb=8,TN=SN()==="coarse";let Un=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function zN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Yu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Yu(),p===1&&Li.delete(u),Un.includes(f)){const y=Un.indexOf(f);y>=0&&Un.splice(y,1),Xp(),o("up",!0,null)}}}function AN(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Yu(),Un.length>0&&(Gu("down",e),e.preventDefault(),Hb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,Gu("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}Gu("move",e),Xp(),Un.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,Un.length>0&&(e.preventDefault(),Hb(n)||e.stopImmediatePropagation()),Gu("up",e),$p({target:n,x:i,y:l}),Xp(),Yu()}function Hb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){Un.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=TN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&EN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(_N(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}Un.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;Un.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):wN()}let Pd=new AbortController;function Yu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(Un.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",AN,e),l.addEventListener("pointermove",Gd,e))}))}function Gu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=Un.includes(i);l(e,o,n)})}function MN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function gn(e,n,i){return Vi(e,n,i)===0}function jN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),gn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(jN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!gn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return gn(m,100)?u:o}function ON({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Bb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function qb(e,n,i){const l=Bb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ub(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function DN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function RN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ub(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=DN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const A=l[z],{collapsedSize:B=0,collapsible:T,minSize:q=0}=_.constraints;if(A!=null&&T){const M=fo({delta:gn(A,B)?q-B:B-A,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:qb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Cx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function wu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Tx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Vb(e){return`react-resizable-panels:${e}`}function Yb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Gb(e,n){try{const i=Vb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function IN(e,n,i){var l,o;const s=(l=Gb(e,i))!==null&&l!==void 0?l:{},u=Yb(n);return(o=s[u])!==null&&o!==void 0?o:null}function VN(e,n,i,l,o){var s;const u=Vb(e),f=Yb(n),d=(s=Gb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function zx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!gn(l,100)&&i.length>0)for(let s=0;s(Tx(ho),ho.getItem(e)),setItem:(e,n)=>{Tx(ho),ho.setItem(e,n)}},Ax={};function $b({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=MN(),_=V.useRef({}),A=V.useRef(new Map),B=V.useRef(0),T=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current,ne=zx({layout:N,panelConstraints:K.map(re=>re.constraints)});Cx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=y,T.current.onLayout=u,T.current.storage=d}),RN({committedValuesRef:T,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Ax[e];Y==null&&(Y=UN(VN,YN),Ax[e]=Y);const F=[...N],K=new Map(A.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){A.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});wu(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=A.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});wu(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return qN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=T.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=IN(N,ne,F);ye&&(A.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=BN({panelDataArray:ne}));const se=zx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Cx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=T.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=qb(ve,N,re);let We=HN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(An=>An.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:zb(ne)?"keyboard":"mouse-or-touch"}),bn=!wu(_e,Dt);(Ab(ne)||Mb(ne))&&B.current!=We&&(B.current=We,!bn&&We!==0?zt?Xd(N,We<0?Ob:Db):Xd(N,We<0?Rb:Lb):Xd(N,0)),bn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});wu(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=T.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Ib(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement($b,{...e,forwardedRef:n}));$b.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function GN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=Bb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:A,groupId:B,registerResizeHandle:T,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=T(X);D(()=>U)}},[i,X,T]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return zN(X,U,A,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,A,i,J,T,X,G,q,M]),GN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:A,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Lu.prototype=cc.prototype={constructor:Lu,on:function(e,n){var i=this._,l=XN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),jx.hasOwnProperty(n)?{space:jx[n],local:e}:e}function FN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function QN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xb(e){var n=fc(e);return(n.local?QN:FN)(n)}function ZN(){}function Pp(e){return e==null?ZN:function(){return this.querySelector(e)}}function KN(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function Sk(e){e||(e=_k);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function Ek(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Nk(){return Array.from(this)}function kk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Hk:typeof n=="function"?qk:Bk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Kb(e).getComputedStyle(e,null).getPropertyValue(n)}function Ik(e){return function(){delete this[e]}}function Vk(e,n){return function(){this[e]=n}}function Yk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Gk(e,n){return arguments.length>1?this.each((n==null?Ik:typeof n=="function"?Yk:Vk)(e,n)):this.node()[e]}function Jb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new Wb(e)}function Wb(e){this._node=e,this._names=Jb(e.getAttribute("class")||"")}Wb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ew(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function xC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function TC(e){return!e.ctrlKey&&!e.button}function zC(){return this.parentNode}function AC(e,n){return n??{x:e.x,y:e.y}}function MC(){return navigator.maxTouchPoints||"ontouchstart"in this}function aw(){var e=TC,n=zC,i=AC,l=MC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(A){A.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,CC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(A,B){if(!(m||!e.call(this,A,B))){var T=_(this,n.call(this,A,B),A,B,"mouse");T&&(yn(A.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),iw(A.view),Fd(A),h=!1,f=A.clientX,d=A.clientY,T("start",A))}}function w(A){if($l(A),!h){var B=A.clientX-f,T=A.clientY-d;h=B*B+T*T>p}o.mouse("drag",A)}function k(A){yn(A.view).on("mousemove.drag mouseup.drag",null),lw(A.view,h),$l(A),o.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var T=A.changedTouches,q=n.call(this,A,B),M=T.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?_u(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?_u(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=OC.exec(e))?new nn(n[1],n[2],n[3],1):(n=DC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=RC.exec(e))?_u(n[1],n[2],n[3],n[4]):(n=LC.exec(e))?_u(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=HC.exec(e))?qx(n[1],n[2]/100,n[3]/100,1):(n=BC.exec(e))?qx(n[1],n[2]/100,n[3]/100,n[4]):Ox.hasOwnProperty(e)?Lx(Ox[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Lx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function _u(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function IC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?IC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Pu(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:Hx,formatHex:Hx,formatHex8:VC,formatRgb:Bx,toString:Bx}));function Hx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function VC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bx(){const e=Pu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Pu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function qx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Hn(e,n,i,l)}function sw(e){if(e instanceof Hn)return new Hn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Hn;if(e instanceof Hn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Hn(u,f,d,e.opacity)}function YC(e,n,i,l){return arguments.length===1?sw(e):new Hn(e,n,i,l??1)}function Hn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Hn,YC,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new Hn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Hn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Hn(Ux(this.h),Eu(this.s),Eu(this.l),Pu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ux(this.h)}, ${Eu(this.s)*100}%, ${Eu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ux(e){return e=(e||0)%360,e<0?e+360:e}function Eu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function GC(e,n){return function(i){return e+i*n}}function $C(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function XC(e){return(e=+e)==1?uw:function(n,i){return i-n?$C(n,i,e):Zp(isNaN(n)?i:n)}}function uw(e,n){var i=n-e;return i?GC(e,i):Zp(isNaN(e)?n:e)}const Fu=(function e(n){var i=XC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=uw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function PC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Yx(){Gi=(Zu=To.now())+dc,Kl=po=0;try{s3()}finally{Kl=0,c3(),Gi=0}}function u3(){var e=To.now(),n=e-Zu;n>hw&&(dc-=n,Zu=e)}function c3(){for(var e,n=Qu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Qu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Yx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Zu=To.now(),io=setInterval(u3,hw)),Kl=1,pw(Yx))}}function Gx(e,n,i){var l=new Ku;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var f3=cc("start","end","cancel","interrupt"),d3=[],gw=0,$x=1,Ep=2,Bu=3,Xx=4,Np=5,qu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;h3(e,i,{name:n,index:l,group:o,on:f3,tween:d3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:gw})}function Jp(e,n){var i=Yn(e,n);if(i.state>gw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Bu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function h3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=mw(s,0,i.time);function s(h){i.state=$x,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==$x)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Bu)return Gx(u);v.state===Xx?(v.state=qu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function Y3(e,n,i){var l,o,s=V3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function G3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(Y3(i,e,n))}function $3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function X3(){return this.on("end.remove",$3(this._id))}function P3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function xT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);bw.prototype=Cr.prototype;function bw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function vT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function bT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Px(){return this.__zoom||pc}function wT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ST(){return navigator.maxTouchPoints||"ontouchstart"in this}function _T(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function ww(){var e=vT,n=bT,i=_T,l=wT,o=ST,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Hu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Px).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Px),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?A(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?A(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function A(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=T(Z,J).event($),U=n.apply(Z,J),P=D==null?A(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function T(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=yn(this.that).datum();h.call(L,this.that,new xT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=T(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Ln(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Uu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=T(this,G,!0).event(L),Z=yn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Ln(L,D),j=L.clientX,U=L.clientY;iw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Uu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Ln(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),lw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Ln(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?yn(this).transition().duration(f).call(B,j,$,L):yn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=T(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Ln(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Uu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=T(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sw=["Enter"," ","Escape"],_w={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Ew={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Ju;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ju||(Ju={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Nw(e){return e===null?null:e?"valid":"invalid"}const kw=e=>"id"in e&&"source"in e&&"target"in e,ET=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},NT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?Wu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,Wu(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},kT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function CT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function TT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=CT(e,u),d=Io(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Cw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function zT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=kT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Tw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Qx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,zw=(e,n,i=15,l=40)=>{const o=Qx(e.x,l,n.width-l)*i,s=Qx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Wu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Aw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Zx=e=>Bn(e.width)&&Bn(e.height)&&Bn(e.x)&&Bn(e.y),Bn=e=>!isNaN(e)&&isFinite(e),AT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},ec=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function MT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function jT(e,n,i,l,o,s){const{x:u,y:f}=ec(e,[n,i,l]),{x:d,y:h}=ec({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=MT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=jT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Mw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Kx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function OT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function DT(e){return{..._w,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=qn(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ow=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},RT=["INPUT","SELECT","TEXTAREA"];function Dw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:RT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Rw=e=>"clientX"in e,qn=(e,n)=>{var s,u;const i=Rw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Jx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Lw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Cu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Wx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Cu(n-l,s),i];case we.Right:return[n+Cu(l-n,s),i];case we.Top:return[n,i-Cu(i-o,s)];case we.Bottom:return[n,i+Cu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Wx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Wx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const BT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,qT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),UT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||BT;let o;return kw(e)?o={...e}:o={...e,id:l(e)},qT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Hw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const ev={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},IT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function VT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=ev[n],d=ev[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=IT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,A]=Hw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?T:q:w=y==="x"?q:T}else{const T=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:T:w=f.y===v?T:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,A]}function YT(e,n,i,l){const o=Math.min(tv(e,n)/2,tv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let A="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function $T(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const qw=1e3,XT=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},PT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function FT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function QT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(PT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?qw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:QT(p,y),z:Uw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function ZT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}ZT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*XT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?qw:0,{x:y,y:v,z:w}=KT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Uw(e,n,i){const l=Bn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function KT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Tw(p,d,n));const y=Uw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Aw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(A=>{e.some(B=>B.id===A.id)||o.push({id:A.id,type:"position",position:{x:A.position.x+v,y:A.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function WT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function lv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Iw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;lv("source",d,m,e,o,u),lv("target",d,h,e,s,f),n.set(l.id,l)}}function Vw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vw(i,n):!1}function av(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function ez(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Vw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function tz({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function nz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:A,isSelectable:B,nodeId:T,nodeClickDistance:q=0}){y=yn(A);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Io(f)):null,K=Y&&$?tz({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Cw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!T&&j))){const[ne,re]=Jd({nodeId:T,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),T||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=zw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&T&&((Y=ee.get(T))!=null&&Y.selected||P()),B&&J&&T&&(e==null||e(T));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=ez(ee,G,N,T),f.size>0&&(i||j||!T&&U)){const[F,K]=Jd({nodeId:T,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),T||U==null||U(I.sourceEvent,K)}}const H=aw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=qn(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=qn(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=qn(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!T&&D){const[$,Z]=Jd({nodeId:T,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),T||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!av(ee,`.${z}`,A))&&(!_||av(ee,_,A))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function rz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const iz=250;function lz(e,n,i,l){var f,d;let o=[],s=1/0;const u=rz(e,i,n+iz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Yw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Gw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function az(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const $w=()=>!0;function oz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=$w,onReconnectEnd:z,updateConnection:_,getTransform:A,getFromHandle:B,autoPanSpeed:T,dragThreshold:q=1,handleDomNode:M}){const R=Ow(e.target);let X=0,H;const{x:I,y:ee}=qn(e),L=Gw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Yw(o,L,l,d,n);if(!$)return;let Z=qn(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=zw(Z,G,T);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Fx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=qn(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=A();Z=qn(ve,G),H=lz(Yo(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Xw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=az(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?ec({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Fx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Xw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=$w,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=qn(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Gw(void 0,S),_=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?A:o,target:p?l:_,targetHandle:p?o:A};E.connection=q;const R=B&&T&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||A!==o);E.isValid=R&&h(q),E.toHandle=Yw(_,z,A,m,i,!0)}return E}const Ap={onPointerDown:oz,isValid:Xw};function sz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=yn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const A=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=A[2]*Math.pow(2,T*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const A=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(A[2],Math.log(A[2]))*(v?-1:1),M={x:A[0]-T[0]*q,y:A[1]-T[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:A[2]},R,f)},z=ww().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Ln}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),uz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=uz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Fw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function cz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Ln(m),E=Fw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function fz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function dz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function hz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function pz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function mz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function gz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=ww().scaleExtent([n,i]).translateExtent(l),y=yn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Fw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!Bn(ne)||ne<0?0:ne);const ye=se?cz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):fz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=dz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=hz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=pz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=mz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function A(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?bw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function T(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!Bn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:T,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:A,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function yz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function ov(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Tu(e,n,i){return Math.max(0,n-e,e-i)}function sv(e,n){return e?!n:n}function xz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:A,width:B,height:T,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=T+(h?-R:R),I=-s[0]*B,ee=-s[1]*T;let L=Tu(X,k,S),G=Tu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(A+R+ee,u[0][1]):!h&&R>0&&(J=si(A+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(A+R,f[0][1]):!h&&R<0&&(J=oi(A+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Tu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(A+ee+X/q,u[1][1])*q:J=oi(A+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(A+X/q,f[1][1])*q:J=si(A+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Tu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(sv(d,h)?-M:M)/q:M=(sv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?A+R:A;return{width:B+(d?-M:M),height:T+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Qw={width:0,height:0,x:0,y:0},vz={...Qw,pointerX:0,pointerY:0,aspectRatio:1};function bz(e){return[[0,0],[e.measured.width,e.measured.height]]}function wz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function Sz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=yn(e);let u={controlDirection:ov("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Qw},z={...vz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:ov(h)};let _,A=null,B=[],T,q,M,R=!1;const X=aw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;A=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:A});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=I.get(_.parentId),q=T&&_.extent==="parent"?bz(T):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=wz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:A}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=xz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),T&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** + `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:mN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:pN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,_x=M2.useId,yN=typeof _x=="function"?_x:()=>null;let xN=0;function Gp(e=null){const n=yN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+xN++),e??i.current}function Tb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(Tb,{...e,forwardedRef:n}));Tb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Ru=-1,ci=null;function vN(e,n){if(n){const i=(n&Ob)!==0,l=(n&Db)!==0,o=(n&Rb)!==0,s=(n&Lb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function bN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Ru=-1)}function Yd(e,n){var i,l;const o=vN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Ru>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Ru)}Ru=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function zb(e){return e.type==="keydown"}function Ab(e){return e.type.startsWith("pointer")}function Mb(e){return e.type.startsWith("mouse")}function oc(e){if(Ab(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Mb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function wN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function SN(e,n,i){return e.xn.x&&e.yn.y}function _N(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:kx(e),b:kx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Nx(Ex(i.a)),b:Nx(Ex(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const EN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function NN(e){var n;const i=getComputedStyle((n=jb(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function kN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||NN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||EN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Ex(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),kN(i))return i}return null}function Nx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kx(e){const n=[];for(;e;)n.push(e),e=jb(e);return n}function jb(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Ob=1,Db=2,Rb=4,Lb=8,CN=wN()==="coarse";let In=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function TN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Yu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Yu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function zN(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Yu(),In.length>0&&(Gu("down",e),e.preventDefault(),Hb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,Gu("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}Gu("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,In.length>0&&(e.preventDefault(),Hb(n)||e.stopImmediatePropagation()),Gu("up",e),$p({target:n,x:i,y:l}),Xp(),Yu()}function Hb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=CN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&_N(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(SN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):bN()}let Pd=new AbortController;function Yu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",zN,e),l.addEventListener("pointermove",Gd,e))}))}function Gu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function AN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function MN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(MN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function jN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Bb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function qb(e,n,i){const l=Bb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ub(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function ON(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function DN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ub(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=ON(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=fo({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:qb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Cx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function wu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Tx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Vb(e){return`react-resizable-panels:${e}`}function Yb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Gb(e,n){try{const i=Vb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function UN(e,n,i){var l,o;const s=(l=Gb(e,i))!==null&&l!==void 0?l:{},u=Yb(n);return(o=s[u])!==null&&o!==void 0?o:null}function IN(e,n,i,l,o){var s;const u=Vb(e),f=Yb(n),d=(s=Gb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function zx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Tx(ho),ho.getItem(e)),setItem:(e,n)=>{Tx(ho),ho.setItem(e,n)}},Ax={};function $b({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=AN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=zx({layout:N,panelConstraints:K.map(re=>re.constraints)});Cx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),DN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Ax[e];Y==null&&(Y=qN(IN,VN),Ax[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});wu(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});wu(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return BN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=UN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=HN({panelDataArray:ne}));const se=zx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Cx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=qb(ve,N,re);let We=LN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:zb(ne)?"keyboard":"mouse-or-touch"}),wn=!wu(_e,Dt);(Ab(ne)||Mb(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Ob:Db):Xd(N,We<0?Rb:Lb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});wu(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Ib(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement($b,{...e,forwardedRef:n}));$b.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function YN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=Bb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return TN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),YN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Lu.prototype=cc.prototype={constructor:Lu,on:function(e,n){var i=this._,l=$N(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),jx.hasOwnProperty(n)?{space:jx[n],local:e}:e}function PN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function FN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xb(e){var n=fc(e);return(n.local?FN:PN)(n)}function QN(){}function Pp(e){return e==null?QN:function(){return this.querySelector(e)}}function ZN(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function wk(e){e||(e=Sk);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ek(){return Array.from(this)}function Nk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Lk:typeof n=="function"?Bk:Hk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Kb(e).getComputedStyle(e,null).getPropertyValue(n)}function Uk(e){return function(){delete this[e]}}function Ik(e,n){return function(){this[e]=n}}function Vk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Yk(e,n){return arguments.length>1?this.each((n==null?Uk:typeof n=="function"?Vk:Ik)(e,n)):this.node()[e]}function Jb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new Wb(e)}function Wb(e){this._node=e,this._names=Jb(e.getAttribute("class")||"")}Wb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ew(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function yC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function CC(e){return!e.ctrlKey&&!e.button}function TC(){return this.parentNode}function zC(e,n){return n??{x:e.x,y:e.y}}function AC(){return navigator.maxTouchPoints||"ontouchstart"in this}function aw(){var e=CC,n=TC,i=zC,l=AC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,kC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),iw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if($l(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),lw(T.view,h),$l(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?_u(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?_u(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=jC.exec(e))?new nn(n[1],n[2],n[3],1):(n=OC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=DC.exec(e))?_u(n[1],n[2],n[3],n[4]):(n=RC.exec(e))?_u(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=LC.exec(e))?qx(n[1],n[2]/100,n[3]/100,1):(n=HC.exec(e))?qx(n[1],n[2]/100,n[3]/100,n[4]):Ox.hasOwnProperty(e)?Lx(Ox[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Lx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function _u(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function UC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?UC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Pu(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:Hx,formatHex:Hx,formatHex8:IC,formatRgb:Bx,toString:Bx}));function Hx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function IC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bx(){const e=Pu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Pu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function qx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function sw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function VC(e,n,i,l){return arguments.length===1?sw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,VC,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Ux(this.h),Eu(this.s),Eu(this.l),Pu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ux(this.h)}, ${Eu(this.s)*100}%, ${Eu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ux(e){return e=(e||0)%360,e<0?e+360:e}function Eu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function YC(e,n){return function(i){return e+i*n}}function GC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function $C(e){return(e=+e)==1?uw:function(n,i){return i-n?GC(n,i,e):Zp(isNaN(n)?i:n)}}function uw(e,n){var i=n-e;return i?YC(e,i):Zp(isNaN(e)?n:e)}const Fu=(function e(n){var i=$C(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=uw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function XC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Yx(){Gi=(Zu=To.now())+dc,Kl=po=0;try{o3()}finally{Kl=0,u3(),Gi=0}}function s3(){var e=To.now(),n=e-Zu;n>hw&&(dc-=n,Zu=e)}function u3(){for(var e,n=Qu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Qu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Yx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Zu=To.now(),io=setInterval(s3,hw)),Kl=1,pw(Yx))}}function Gx(e,n,i){var l=new Ku;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var c3=cc("start","end","cancel","interrupt"),f3=[],gw=0,$x=1,Ep=2,Bu=3,Xx=4,Np=5,qu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;d3(e,i,{name:n,index:l,group:o,on:c3,tween:f3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:gw})}function Jp(e,n){var i=Yn(e,n);if(i.state>gw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Bu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function d3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=mw(s,0,i.time);function s(h){i.state=$x,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==$x)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Bu)return Gx(u);v.state===Xx?(v.state=qu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function V3(e,n,i){var l,o,s=I3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function Y3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(V3(i,e,n))}function G3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function $3(){return this.on("end.remove",G3(this._id))}function X3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function yT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);bw.prototype=Cr.prototype;function bw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function xT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function vT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Px(){return this.__zoom||pc}function bT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function wT(){return navigator.maxTouchPoints||"ontouchstart"in this}function ST(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function ww(){var e=xT,n=vT,i=ST,l=bT,o=wT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Hu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Px).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Px),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new yT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Uu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;iw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Uu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),lw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Uu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sw=["Enter"," ","Escape"],_w={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Ew={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Ju;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ju||(Ju={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Nw(e){return e===null?null:e?"valid":"invalid"}const kw=e=>"id"in e&&"source"in e&&"target"in e,_T=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},ET=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?Wu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,Wu(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},NT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function kT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function CT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=kT(e,u),d=Io(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Cw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function TT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=NT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Tw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Qx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,zw=(e,n,i=15,l=40)=>{const o=Qx(e.x,l,n.width-l)*i,s=Qx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Wu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Aw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Zx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),zT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},ec=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function AT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function MT(e,n,i,l,o,s){const{x:u,y:f}=ec(e,[n,i,l]),{x:d,y:h}=ec({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=AT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=MT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Mw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Kx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function jT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function OT(e){return{..._w,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ow=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},DT=["INPUT","SELECT","TEXTAREA"];function Dw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:DT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Rw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Rw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Jx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Lw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Cu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Wx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Cu(n-l,s),i];case we.Right:return[n+Cu(l-n,s),i];case we.Top:return[n,i-Cu(i-o,s)];case we.Bottom:return[n,i+Cu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Wx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Wx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const HT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,BT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),qT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||HT;let o;return kw(e)?o={...e}:o={...e,id:l(e)},BT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Hw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const ev={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},UT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function IT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=ev[n],d=ev[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=UT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=Hw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function VT(e,n,i,l){const o=Math.min(tv(e,n)/2,tv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function GT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const qw=1e3,$T=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},XT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function PT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function FT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(XT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?qw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:FT(p,y),z:Uw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function QT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}QT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*$T),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?qw:0,{x:y,y:v,z:w}=ZT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Uw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function ZT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Tw(p,d,n));const y=Uw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Aw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function JT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function lv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Iw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;lv("source",d,m,e,o,u),lv("target",d,h,e,s,f),n.set(l.id,l)}}function Vw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vw(i,n):!1}function av(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function WT(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Vw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function ez({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function tz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Io(f)):null,K=Y&&$?ez({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Cw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=zw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=WT(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=aw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!av(ee,`.${z}`,T))&&(!_||av(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function nz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const rz=250;function iz(e,n,i,l){var f,d;let o=[],s=1/0;const u=nz(e,i,n+rz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Yw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Gw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function lz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const $w=()=>!0;function az(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=$w,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Ow(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Gw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Yw(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=zw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Fx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=iz(Yo(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Xw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=lz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?ec({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Fx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Xw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=$w,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Gw(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=Yw(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:az,isValid:Xw};function oz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=ww().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),sz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=sz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Fw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function uz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Fw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function cz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function fz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function dz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function hz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function pz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function mz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=ww().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Fw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?uz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):cz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=fz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=dz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=hz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=pz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?bw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function gz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function ov(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Tu(e,n,i){return Math.max(0,n-e,e-i)}function sv(e,n){return e?!n:n}function yz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=Tu(X,k,S),G=Tu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Tu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Tu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(sv(d,h)?-M:M)/q:M=(sv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Qw={width:0,height:0,x:0,y:0},xz={...Qw,pointerX:0,pointerY:0,aspectRatio:1};function vz(e){return[[0,0],[e.measured.width,e.measured.height]]}function bz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function wz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:ov("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Qw},z={...xz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:ov(h)};let _,T=null,B=[],A,q,M,R=!1;const X=aw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?vz(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=bz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=yz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** * @license React * use-sync-external-store-shim.production.js * @@ -264,7 +264,7 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var uv;function _z(){if(uv)return ih;uv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var cv;function Ez(){return cv||(cv=1,rh.exports=_z()),rh.exports}/** + */var uv;function Sz(){if(uv)return ih;uv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var cv;function _z(){return cv||(cv=1,rh.exports=Sz()),rh.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -272,26 +272,26 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var fv;function Nz(){if(fv)return nh;fv=1;var e=Lo(),n=Ez();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(T){if(!z){if(z=!0,_=T,T=y(T),v!==void 0&&k.hasValue){var q=k.value;if(v(q,T))return A=q}return A=T}if(q=A,l(_,T))return q;var M=y(T);return v!==void 0&&v(q,M)?(_=T,q):(_=T,A=M)}var z=!1,_,A,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var dv;function kz(){return dv||(dv=1,th.exports=Nz()),th.exports}var Cz=kz();const Tz=Ro(Cz),zz={},hv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(zz?"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()}},h=n=e(l,o,d);return d},Az=e=>e?hv(e):hv,{useDebugValue:Mz}=ql,{useSyncExternalStoreWithSelector:jz}=Tz,Oz=e=>e;function Zw(e,n=Oz,i){const l=jz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Mz(l),l}const pv=(e,n)=>{const i=Az(e),l=(o,s=n)=>Zw(i,o,s);return Object.assign(l,i),l},Dz=(e,n)=>e?pv(e,n):pv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Rz=wb();const xc=V.createContext(null),Lz=xc.Provider,Kw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Kw);return Zw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Kw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mv={display:"none"},Hz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Jw="react-flow__node-desc",Ww="react-flow__edge-desc",Bz="react-flow__aria-live",qz=e=>e.ariaLiveMessage,Uz=e=>e.ariaLabelConfig;function Iz({rfId:e}){const n=Ie(qz);return b.jsx("div",{id:`${Bz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Hz,children:n})}function Vz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Uz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Jw}-${e}`,style:mv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${Ww}-${e}`,style:mv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Iz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Yz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Gz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},zu=e=>e.id;function $z(e,n){return dt(e.selectedNodes.map(zu),n.selectedNodes.map(zu))&&dt(e.selectedEdges.map(zu),n.selectedEdges.map(zu))}function Xz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Gz,$z);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Pz=e=>!!e.onSelectionChangeHandlers;function Fz({onSelectionChange:e}){const n=Ie(Pz);return e||n?b.jsx(Xz,{onSelectionChange:e}):null}const eS=[0,0],Qz={x:0,y:0,zoom:1},Zz=["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"],gv=[...Zz,"rfId"],Kz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),yv={translateExtent:zo,nodeOrigin:eS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Jz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Kz,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=yv,f()}),[]);const m=V.useRef(yv);return V.useEffect(()=>{for(const p of gv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:DT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},gv.map(p=>e[p])),null}function xv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Wz(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=xv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=xv())!=null&&l.matches?"dark":"light"}const vv=typeof document<"u"?document:null;function Oo(e=null,n={target:vv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` + */var fv;function Ez(){if(fv)return nh;fv=1;var e=Lo(),n=_z();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var dv;function Nz(){return dv||(dv=1,th.exports=Ez()),th.exports}var kz=Nz();const Cz=Ro(kz),Tz={},hv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Tz?"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()}},h=n=e(l,o,d);return d},zz=e=>e?hv(e):hv,{useDebugValue:Az}=ql,{useSyncExternalStoreWithSelector:Mz}=Cz,jz=e=>e;function Zw(e,n=jz,i){const l=Mz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Az(l),l}const pv=(e,n)=>{const i=zz(e),l=(o,s=n)=>Zw(i,o,s);return Object.assign(l,i),l},Oz=(e,n)=>e?pv(e,n):pv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Dz=wb();const xc=V.createContext(null),Rz=xc.Provider,Kw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Kw);return Zw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Kw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mv={display:"none"},Lz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Jw="react-flow__node-desc",Ww="react-flow__edge-desc",Hz="react-flow__aria-live",Bz=e=>e.ariaLiveMessage,qz=e=>e.ariaLabelConfig;function Uz({rfId:e}){const n=Ie(Bz);return b.jsx("div",{id:`${Hz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Lz,children:n})}function Iz({rfId:e,disableKeyboardA11y:n}){const i=Ie(qz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Jw}-${e}`,style:mv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${Ww}-${e}`,style:mv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Uz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Vz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},zu=e=>e.id;function Gz(e,n){return dt(e.selectedNodes.map(zu),n.selectedNodes.map(zu))&&dt(e.selectedEdges.map(zu),n.selectedEdges.map(zu))}function $z({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Yz,Gz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Xz=e=>!!e.onSelectionChangeHandlers;function Pz({onSelectionChange:e}){const n=Ie(Xz);return e||n?b.jsx($z,{onSelectionChange:e}):null}const eS=[0,0],Fz={x:0,y:0,zoom:1},Qz=["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"],gv=[...Qz,"rfId"],Zz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),yv={translateExtent:zo,nodeOrigin:eS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Kz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Zz,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=yv,f()}),[]);const m=V.useRef(yv);return V.useEffect(()=>{for(const p of gv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:OT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},gv.map(p=>e[p])),null}function xv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Jz(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=xv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=xv())!=null&&l.matches?"dark":"light"}const vv=typeof document<"u"?document:null;function Oo(e=null,n={target:vv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` `).replace(` `,` +`).split(` -`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??vv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Dw(v))return!1;const k=wv(v.code,f);if(s.current.add(v[k]),bv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=wv(v.code,f);bv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function bv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function wv(e,n){return n.includes(e)?"code":"key"}const eA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=ec(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function tS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)tA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function tA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function nS(e,n){return tS(e,n)}function rS(e,n){return tS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Sv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function _v(e){return{id:e.id,type:"remove"}}const Ev=e=>ET(e),nA=e=>kw(e);function iS(e){return V.forwardRef(e)}const rA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Nv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>iA(()=>i(o=>o+BigInt(1))));return rA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function iA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const lS=V.createContext(null);function lA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Sv({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Nv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Sv({items:v,lookup:y}))},[]),s=Nv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(lS.Provider,{value:u,children:e})}function aA(){const e=V.useContext(lS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const oA=e=>!!e.panZoom;function Go(){const e=eA(),n=ht(),i=aA(),l=Ie(oA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Ev(p)?p:y.get(p.id),k=w.parentId?jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Ev(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&nA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:A}=n.getState(),{nodes:B,edges:T}=await zT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:A}),q=T.length>0,M=B.length>0;if(q){const R=T.map(_v);S==null||S(T),z(R)}if(M){const R=B.map(_v);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,y=!0,v)=>{const w=Zx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),A=Mo(_,k);return y&&A>0||A>=_.width*_.height||A>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Zx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return NT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??OT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const kv=e=>e.selected,sA=typeof window<"u"?window:void 0;function uA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:sA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(kv),edges:u.filter(kv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function cA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},fA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function dA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:A}){const B=ht(),T=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(fA,dt),X=Oo(y),H=V.useRef();cA(T);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(T.current){H.current=gz({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:T.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:A,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,A,_]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:bc,children:w})}const hA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function pA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(hA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},mA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function gA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(mA,dt),A=E&&(e||S),B=V.useRef(null),T=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(T.current=J==null?void 0:J.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=qn(Z.nativeEvent,T.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!T.current||!J)return;const{x:re,y:se}=qn(Z.nativeEvent,T.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Kx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Kx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:A?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:A?void 0:p,onPointerMove:A?G:y,onPointerUp:A?D:void 0,onPointerDownCapture:A?L:void 0,onClickCapture:A?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(pA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function aS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=nz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const yA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function oS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=yA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:A}=Cw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=A,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),xA=cm.Provider;cm.Consumer;const sS=()=>V.useContext(cm),vA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),bA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function wA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=sS(),{connectOnClick:z,noPanClassName:_,rfId:A}=Ie(vA,dt),{connectingFrom:B,connectingTo:T,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(bA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(UT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Rw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ow($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${A}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:T,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const ln=V.memo(iS(wA));function SA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(ln,{type:"source",position:i,isConnectable:n})]})}function _A({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(ln,{type:"source",position:l,isConnectable:n})]})}function EA(){return null}function NA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const tc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Cv={input:SA,default:_A,output:NA,group:EA};function kA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const CA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:Bn(n)?n:null,height:Bn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function TA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(CA,dt),d=oS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(aS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(tc,v.key)&&(v.preventDefault(),d({direction:tc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Tv=typeof window<"u"?window:void 0,zA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(zA,dt),P=Oo(h,{target:Tv}),N=Oo(k,{target:Tv}),Y=N||M,F=N||A,K=m&&Y!==!0,ne=P||U||K;return uA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(dA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(gA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(TA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}uS.displayName="FlowRenderer";const AA=V.memo(uS),MA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function jA(e){return Ie(V.useCallback(MA(e),[e]),dt)}const OA=e=>e.updateNodeInternals;function DA(){const e=Ie(OA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function RA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function LA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:A,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let T=_.type||"default",q=(S==null?void 0:S[T])||Cv[T];q===void 0&&(z==null||z("003",tr.error003(T)),T="default",q=(S==null?void 0:S.default)||Cv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Mw(_),L=RA({node:_,nodeType:T,hasDimensions:ee,resizeObserver:p}),G=aS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=oS();if(_.hidden)return null;const $=Ar(_),Z=kA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...A.userNode}):void 0,U=l?re=>l(re,{...A.userNode}):void 0,P=o?re=>o(re,{...A.userNode}):void 0,N=s?re=>s(re,{...A.userNode}):void 0,Y=u?re=>u(re,{...A.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...A.userNode})},K=re=>{if(!(Dw(re.nativeEvent)||w)){if(Sw.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(tc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),D({direction:tc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Jw}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(xA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:T,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:A.z,parentId:_.parentId,...$})})})}var HA=V.memo(LA);const BA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function cS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(BA,dt),u=jA(e.onlyRenderVisibleElements),f=DA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(HA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}cS.displayName="NodeRenderer";const qA=V.memo(cS);function UA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&HT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const IA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},VA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zv={[Ju.Arrow]:IA,[Ju.ArrowClosed]:VA};function YA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(zv,e)?zv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const GA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=YA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},fS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>$T(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(GA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};fS.displayName="MarkerDefinitions";var $A=V.memo(fS);function dS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}dS.displayName="EdgeText";const XA=V.memo(dS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Bn(n)&&Bn(i)?b.jsx(XA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Av({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function hS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Av({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Av({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function pS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,A]=hS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:A,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const PA=pS({isInternal:!1}),mS=pS({isInternal:!0});PA.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const yS=gS({isInternal:!1}),xS=gS({isInternal:!0});yS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function vS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(yS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const FA=vS({isInternal:!1}),bS=vS({isInternal:!0});FA.displayName="StepEdge";bS.displayName="StepEdgeInternal";function wS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Bw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const QA=wS({isInternal:!1}),SS=wS({isInternal:!0});QA.displayName="StraightEdge";SS.displayName="StraightEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const ZA=_S({isInternal:!1}),ES=_S({isInternal:!0});ZA.displayName="BezierEdge";ES.displayName="BezierEdgeInternal";const Mv={default:ES,straight:SS,step:bS,smoothstep:xS,simplebezier:mS},jv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},KA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,JA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Ov="react-flow__edgeupdater";function Dv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Ov,`${Ov}-${f}`]),cx:KA(n,l,e),cy:JA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function WA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:T,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(A,i,B.type),H==null||H(U,P)};Ap.onPointerDown(A.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>k(A,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=A=>k(A,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Dv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Dv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function eM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const A=Ie(xe=>xe.defaultEdgeOptions);_=A?{...A,..._}:_;let B=_.type||"default",T=(k==null?void 0:k[B])||Mv[B];T===void 0&&(E==null||E("011",tr.error011(B)),B="default",T=(k==null?void 0:k.default)||Mv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...jv};const Me=GT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:LT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||jv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Sw.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${Ww}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(WA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var tM=V.memo(eM);const nM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function NS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(nM,dt),A=UA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx($A,{defaultColor:e,rfId:i}),A.map(B=>b.jsx(tM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}NS.displayName="EdgeRenderer";const rM=V.memo(NS),iM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function lM({children:e}){const n=Ie(iM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function aM(e){const n=Go(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const oM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function sM(e){const n=Ie(oM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function uM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function cM(e){return uM}function fM(e){const n=cM();return Ie(n,dt)}const dM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function hM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(dM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Nw(f)]),children:b.jsx(kS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const kS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=fM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Nw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=hS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Bw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};kS.displayName="ConnectionLine";const pM={};function Rv(e=pM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function mM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function CS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Rv(e),Rv(n),mM(),aM(i),sM(ue),b.jsx(AA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(lM,{children:[b.jsx(rM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:bn,disableKeyboardA11y:An,rfId:Mr}),b.jsx(hM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(qA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:bn,noDragClassName:Ut,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}CS.displayName="GraphView";const gM=V.memo(CS),Lv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],A=p??zo;Iw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:A,zIndexMode:y});let T=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Ew},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:AT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:_w,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},yM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Dz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:A,height:B,minZoom:T,maxZoom:q}=w();E&&(await TT({nodes:S,width:A,height:B,panZoom:E,minZoom:T,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Lv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:T}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:T});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Iw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:A,nodeOrigin:B,nodeExtent:T,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=JT(S,z,_,A,B,T,R);H&&(FT(z,_,{nodeOrigin:B,nodeExtent:T,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:A,triggerNodeChanges:B,connection:T,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=A.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&T.inProgress&&T.fromNode.id===H.id){const L=Xi(H,T.fromHandle,we.Left,!0);q({...T,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,A,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=nS(S,_);z(T)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=rS(S,_);z(T)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));A(T);return}A(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));B(T);return}B(Vl(z,new Set([...S]))),A(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=A.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),T(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:A}=w();if(!A)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),T=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(T)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:q}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(zp(E,z,_,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:A,translateExtent:B}=w();return WT({delta:S,panZoom:A,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:A,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await T.setViewport({x:_/2-S*q,y:A/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Ew}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Lv()})}},Object.is);function xM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>yM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Lz,{value:w,children:b.jsx(lA,{children:v})})}function vM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(xM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const bM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function wM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=eS,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At=!0,defaultViewport:Mr=Qz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:Mn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:on=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Fo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Cc,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:is,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:jn,height:Pt,colorMode:ls="light",debug:Ac,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",os=Wz(ls),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,...bM},ref:Ft,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(vM,{nodes:e,edges:n,width:jn,height:Pt,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(gM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:Mn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:on,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Jz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:as,zIndexMode:gi}),b.jsx(Fz,{onSelectionChange:ee}),Fo,b.jsx(Yz,{proOptions:mi,position:ts}),b.jsx(Vz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var SM=iS(wM);const _M=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function EM({children:e}){const n=Ie(_M);return n?Rz.createPortal(e,n):null}function NM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>nS(o,s)),[]);return[n,i,l]}function kM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function CM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function TM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const zM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},AM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(AM,dt),w=l||zM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],A=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,T=[A[0]*y[2]||1+B[0]/2,A[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:k?b.jsx(TM,{radius:_/2,className:m}):b.jsx(CM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}TS.displayName="Background";const MM=V.memo(TS);function jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function DM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 LM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Au({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const HM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function zS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(HM,dt),{zoomIn:_,zoomOut:A,fitView:B}=Go(),T=()=>{_(),s==null||s()},q=()=>{A(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Au,{onClick:T,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(jM,{})}),b.jsx(Au,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(OM,{})})]}),i&&b.jsx(Au,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(DM,{})}),l&&b.jsx(Au,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(LM,{}):b.jsx(RM,{})}),m]})}zS.displayName="Controls";const BM=V.memo(zS);function qM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const UM=V.memo(qM),IM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function VM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=UM,onClick:u}){const f=Ie(IM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(GM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function YM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:A}=Ar(S);return{node:S,x:E,y:z,width:_,height:A}},dt);return!h||h.hidden||!Mw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const GM=V.memo(YM);var $M=V.memo(VM);const XM=200,PM=150,FM=e=>!e.hidden,QM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Aw(Io(e.nodeLookup,{filter:FM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ZM="react-flow__minimap-desc";function AS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:A=5}){const B=ht(),T=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(QM,dt),G=(e==null?void 0:e.width)??XM,D=(e==null?void 0:e.height)??PM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=A*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${ZM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(T.current&&X)return se.current=sz({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx($M,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AS.displayName="MiniMap";const KM=V.memo(AS),JM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,WM={[na.Line]:"right",[na.Handle]:"bottom-right"};function e4({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=sS(),_=typeof e=="string"?e:z,A=ht(),B=V.useRef(null),T=i===na.Handle,q=Ie(V.useCallback(JM(T&&v),[T,v]),dt),M=V.useRef(null),R=n??WM[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=Sz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=A.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=A.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...jw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};A.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(e4);var oh,Hv;function fm(){if(Hv)return oh;Hv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Bv;function t4(){return Bv||(Bv=1,sh="2.2.4"),sh}var uh,qv;function n4(){return qv||(qv=1,uh={Graph:fm(),version:t4()}),uh}var ch,Uv;function r4(){if(Uv)return ch;Uv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Iv;function i4(){if(Iv)return fh;Iv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Vv;function MS(){if(Vv)return dh;Vv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Gv;function l4(){if(Gv)return ph;Gv=1;var e=jS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,$v;function OS(){if($v)return mh;$v=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Xv;function a4(){if(Xv)return gh;Xv=1;var e=OS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Pv;function o4(){if(Pv)return yh;Pv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Kv;function u4(){if(Kv)return wh;Kv=1;var e=RS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Jv;function c4(){if(Jv)return Sh;Jv=1;var e=RS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,Wv;function f4(){if(Wv)return _h;Wv=1;var e=fm(),n=MS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,e1;function d4(){return e1||(e1=1,Eh={components:i4(),dijkstra:jS(),dijkstraAll:l4(),findCycles:a4(),floydWarshall:o4(),isAcyclic:s4(),postorder:u4(),preorder:c4(),prim:f4(),tarjan:OS(),topsort:DS()}),Eh}var Nh,t1;function Vn(){if(t1)return Nh;t1=1;var e=n4();return Nh={Graph:e.Graph,json:r4(),alg:d4(),version:e.version},Nh}var kh,n1;function h4(){if(n1)return kh;n1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,r1;function p4(){if(r1)return Ch;r1=1;let e=Vn().Graph,n=h4();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=A(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function A(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,l1;function m4(){if(l1)return zh;l1=1;let e=p4(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,a1;function g4(){if(a1)return Ah;a1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,o1;function nc(){if(o1)return Mh;o1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,s1;function LS(){if(s1)return jh;s1=1;var e=Vn().Graph,n=nc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,u1;function y4(){if(u1)return Oh;u1=1;var e=LS(),n=nc().slack,i=nc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var A,B;A=y(_);)B=v(_,z,A),w(_,z,A,B)}function f(z,_){var A=o(z,z.nodes());A=A.slice(0,A.length-1),A.forEach(B=>d(z,_,B))}function d(z,_,A){var B=z.node(A),T=B.parent;z.edge(A,T).cutvalue=h(z,_,A)}function h(z,_,A){var B=z.node(A),T=B.parent,q=!0,M=_.edge(A,T),R=0;return M||(q=!1,M=_.edge(T,A)),R=M.weight,_.nodeEdges(A).forEach(X=>{var H=X.v===A,I=H?X.w:X.v;if(I!==T){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,A,I)){var G=z.edge(A,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,A,B,T){var q=A,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(A=p(z,_,A,R,B))}),M.low=q,M.lim=A++,T?M.parent=T:delete M.parent,A}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,A){var B=A.v,T=A.w;_.hasEdge(B,T)||(B=A.w,T=A.v);var q=z.node(B),M=z.node(T),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(T).parent),B=l(z,A);B=B.slice(1),B.forEach(T=>{var q=z.node(T).parent,M=_.edge(T,q),R=!1;M||(M=_.edge(q,T),R=!0),_.node(T).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,A){return z.hasEdge(_,A)}function E(z,_,A){return A.low<=_.lim&&_.lim<=A.lim}return Oh}var Dh,c1;function x4(){if(c1)return Dh;c1=1;var e=nc(),n=e.longestPath,i=LS(),l=y4();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,f1;function v4(){if(f1)return Rh;f1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,d1;function b4(){if(d1)return Lh;d1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,A=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,T=_!==A?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(A,k,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,h1;function w4(){if(h1)return Hh;h1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,m1;function _4(){if(m1)return qh;m1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,g1;function E4(){if(g1)return Uh;g1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,y1;function N4(){if(y1)return Ih;y1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,x1;function k4(){if(x1)return Vh;x1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,v1;function C4(){if(v1)return Yh;v1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,b1;function T4(){if(b1)return Gh;b1=1;let e=N4(),n=k4(),i=C4();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,w1;function z4(){if(w1)return $h;w1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,S1;function A4(){if(S1)return Xh;S1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,_1;function M4(){if(_1)return Ph;_1=1;let e=_4(),n=E4(),i=T4(),l=z4(),o=A4(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,A=0;A<4;++_,++A){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,E1;function j4(){if(E1)return Fh;E1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(A,B){let T=0,q=0,M=A.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function A(B,T){let q=-1,M,R=0;return T.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(T,R,H,q,M),R=H,q=M)}_(T,R,T.length,M,B.length)}),T}return E.length&&E.reduce(A),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let A=E;E=z,z=A}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let A={},B={},T={};return E.forEach(q=>{q.forEach((M,R)=>{A[M]=M,B[M]=M,T[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>T[I]-T[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+T.edge(ee)),0)}function X(H){let I=T.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-T.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let A=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(A.setNode(X),M){var H=z[M],I=A.edge(H,X);A.setEdge(H,X,Math.max(T(S,R,M),I||0))}M=R})}),A}function m(S,E){return Object.values(E).reduce((z,_)=>{let A=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;A=Math.max(M+R,A),B=Math.min(M-R,B)});const T=A-B;return T{["l","r"].forEach(T=>{let q=B+T,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);T!=="l"&&(X=A-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let A=Object.values(S).map(B=>B[_]).sort((B,T)=>B-T);return(A[1]+A[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},A;["u","d"].forEach(T=>{A=T==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(A=A.map(H=>Object.values(H).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),R=f(S,A,z,M),X=d(S,A,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[T+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,A,B)=>{let T=_.node(A),q=_.node(B),M=0,R;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":R=-T.width/2;break;case"r":R=T.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(T.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,N1;function O4(){if(N1)return Qh;N1=1;let e=Ct(),n=j4().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,k1;function D4(){if(k1)return Zh;k1=1;let e=m4(),n=g4(),i=x4(),l=Ct().normalizeRanks,o=v4(),s=Ct().removeEmptyRanks,u=b4(),f=w4(),d=S4(),h=M4(),m=O4(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],A={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(A).forEach(se=>{re[se]===void 0&&(re[se]=A[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},T,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,C1;function R4(){if(C1)return Kh;C1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,T1;function L4(){return T1||(T1=1,Jh="1.1.8"),Jh}var Wh,z1;function H4(){return z1||(z1=1,Wh={graphlib:Vn(),layout:D4(),debug:R4(),util:{time:Ct().time,notime:Ct().notime},version:L4()}),Wh}var B4=H4();const A1=Ro(B4),go=200,Yl=56,M1=20,j1=40,q4=20,O1=12;function U4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+M1*2,E=j1+k*Yl+(k-1)*O1+q4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return I4(f,d),{nodes:f,edges:d}}function I4(e,n){var l,o,s,u;const i=new A1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);A1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:In(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const V4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.elapsed}),h=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.model}),m=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.tokens}),p=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.input_tokens}),y=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.output_tokens}),v=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.cost_usd}),w=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.iteration}),k=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_type}),S=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_message}),E=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.context_pct}),z=Y4(i,u),_=G4(u),A=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:z,className:"text-[var(--text-muted)]"};if(u==="completed"){const B=[];return d!=null&&B.push(In(d)),m!=null&&B.push(`${Wn(m)} tok`),v!=null&&B.push(Ql(v)),{text:B.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",_),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(I2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),A.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",A.className),children:A.text})]}),E!=null&&b.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-b-lg overflow-hidden",style:{backgroundColor:"rgba(255,255,255,0.06)"},children:b.jsx("div",{className:Ye("h-full transition-all duration-500",E>=90?"animate-[context-pulse_2s_ease-in-out_infinite]":""),style:{width:`${Math.min(E,100)}%`,backgroundColor:E>=90?"#ef4444":E>=70?"#f59e0b":"#22c55e"}})})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Y4(e,n){const i=he(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=V.useState("0.0s"),s=V.useRef(null);return V.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function G4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const $4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=X4(i,u),v=P4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(In(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function X4(e,n){const i=he(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=V.useState("0.0s"),s=V.useRef(null);return V.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function P4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const F4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=Q4(u);return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Q4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Z4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Q2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=K4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function K4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const J4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Nb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),W4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),ej=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",A=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",T=2,q;A?(B="var(--failed)",T=3):z?(B="var(--edge-taken)",T=3):_&&(B="var(--edge-active)",T=3),E&&!z&&!_&&!A&&(q="6 3");const M=A?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(EM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:A?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:A||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${A?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),A&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function tj(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function nj(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Cb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(Y2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(lc,{className:"w-3.5 h-3.5"})})]})})}const rj={agentNode:V4,scriptNode:$4,gateNode:F4,groupNode:Z4,endNode:J4,startNode:W4},ij={animatedEdge:ej},lj={type:"animatedEdge"};function aj(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function oj(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=NM([]),[k,S,E]=kM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=U4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),A=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(aj,{}),b.jsx(tj,{}),b.jsx(nj,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(SM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:A,nodeTypes:rj,edgeTypes:ij,defaultEdgeOptions:lj,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(MM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(KM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(BM,{showInteractive:!1,children:b.jsx(sj,{})}),b.jsx(uj,{})]})]})}function sj(){const{fitView:e}=Go(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(K2,{className:"w-3.5 h-3.5"})})}function uj(){const{fitView:e}=Go();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function HS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:In(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.context_window_used!=null&&e.context_window_max!=null&&n.push({label:"Context",value:hN(e.context_window_used,e.context_window_max)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=kb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(cj,{text:d}):d})]})}function cj({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(fj,{entry:s},u))})]})}function fj({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function dj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:HS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:hj(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:HS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function hj(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function pj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:In(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` +`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??vv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Dw(v))return!1;const k=wv(v.code,f);if(s.current.add(v[k]),bv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=wv(v.code,f);bv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function bv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function wv(e,n){return n.includes(e)?"code":"key"}const Wz=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=ec(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function tS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)eA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function eA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function nS(e,n){return tS(e,n)}function rS(e,n){return tS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Sv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function _v(e){return{id:e.id,type:"remove"}}const Ev=e=>_T(e),tA=e=>kw(e);function iS(e){return V.forwardRef(e)}const nA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Nv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>rA(()=>i(o=>o+BigInt(1))));return nA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function rA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const lS=V.createContext(null);function iA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Sv({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Nv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Sv({items:v,lookup:y}))},[]),s=Nv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(lS.Provider,{value:u,children:e})}function lA(){const e=V.useContext(lS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const aA=e=>!!e.panZoom;function Go(){const e=Wz(),n=ht(),i=lA(),l=Ie(aA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Ev(p)?p:y.get(p.id),k=w.parentId?jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Ev(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&tA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await TT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(_v);S==null||S(A),z(R)}if(M){const R=B.map(_v);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Zx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),T=Mo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Zx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return ET(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??jT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const kv=e=>e.selected,oA=typeof window<"u"?window:void 0;function sA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:oA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(kv),edges:u.filter(kv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function uA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},cA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function fA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(cA,dt),X=Oo(y),H=V.useRef();uA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=mz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const dA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function hA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(dA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},pA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function mA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(pA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Kx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Kx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(hA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function aS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=tz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const gA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function oS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=gA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:T}=Cw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),yA=cm.Provider;cm.Consumer;const sS=()=>V.useContext(cm),xA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),vA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function bA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=sS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(xA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(vA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(qT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Rw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ow($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(iS(bA));function wA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function SA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function _A(){return null}function EA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const tc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Cv={input:wA,default:SA,output:EA,group:_A};function NA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const kA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function CA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(kA,dt),d=oS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(aS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(tc,v.key)&&(v.preventDefault(),d({direction:tc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Tv=typeof window<"u"?window:void 0,TA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(TA,dt),P=Oo(h,{target:Tv}),N=Oo(k,{target:Tv}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return sA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(fA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(mA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(CA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}uS.displayName="FlowRenderer";const zA=V.memo(uS),AA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function MA(e){return Ie(V.useCallback(AA(e),[e]),dt)}const jA=e=>e.updateNodeInternals;function OA(){const e=Ie(jA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function DA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function RA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||Cv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||Cv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Mw(_),L=DA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=aS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=oS();if(_.hidden)return null;const $=Ar(_),Z=NA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Dw(re.nativeEvent)||w)){if(Sw.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(tc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:tc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Jw}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(yA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var LA=V.memo(RA);const HA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function cS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(HA,dt),u=MA(e.onlyRenderVisibleElements),f=OA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(LA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}cS.displayName="NodeRenderer";const BA=V.memo(cS);function qA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&<({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const UA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},IA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zv={[Ju.Arrow]:UA,[Ju.ArrowClosed]:IA};function VA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(zv,e)?zv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const YA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=VA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},fS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>GT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(YA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};fS.displayName="MarkerDefinitions";var GA=V.memo(fS);function dS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}dS.displayName="EdgeText";const $A=V.memo(dS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx($A,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Av({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function hS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Av({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Av({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function pS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=hS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const XA=pS({isInternal:!1}),mS=pS({isInternal:!0});XA.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx($o,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const yS=gS({isInternal:!1}),xS=gS({isInternal:!0});yS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function vS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(yS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const PA=vS({isInternal:!1}),bS=vS({isInternal:!0});PA.displayName="StepEdge";bS.displayName="StepEdgeInternal";function wS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Bw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const FA=wS({isInternal:!1}),SS=wS({isInternal:!0});FA.displayName="StraightEdge";SS.displayName="StraightEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx($o,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const QA=_S({isInternal:!1}),ES=_S({isInternal:!0});QA.displayName="BezierEdge";ES.displayName="BezierEdgeInternal";const Mv={default:ES,straight:SS,step:bS,smoothstep:xS,simplebezier:mS},jv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ZA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,KA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Ov="react-flow__edgeupdater";function Dv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Ov,`${Ov}-${f}`]),cx:ZA(n,l,e),cy:KA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function JA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Dv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Dv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function WA({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||Mv[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||Mv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...jv};const Me=YT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:RT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||jv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Sw.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${Ww}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(JA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var eM=V.memo(WA);const tM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function NS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(tM,dt),T=qA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(GA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(eM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}NS.displayName="EdgeRenderer";const nM=V.memo(NS),rM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iM({children:e}){const n=Ie(rM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function lM(e){const n=Go(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const aM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function oM(e){const n=Ie(aM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function sM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function uM(e){return sM}function cM(e){const n=uM();return Ie(n,dt)}const fM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function dM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(fM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Nw(f)]),children:b.jsx(kS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const kS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=cM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Nw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=hS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Bw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};kS.displayName="ConnectionLine";const hM={};function Rv(e=hM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function pM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function CS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Rv(e),Rv(n),pM(),lM(i),oM(ue),b.jsx(zA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(iM,{children:[b.jsx(nM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(dM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(BA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}CS.displayName="GraphView";const mM=V.memo(CS),Lv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??zo;Iw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Ew},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:zT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:_w,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},gM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Oz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await CT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Lv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Iw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=KT(S,z,_,T,B,A,R);H&&(PT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=nS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=rS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Vl(z,new Set([...S]))),T(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return JT({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Ew}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Lv()})}},Object.is);function yM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>gM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Rz,{value:w,children:b.jsx(iA,{children:v})})}function xM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(yM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const vM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function bM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=eS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=Fz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Fo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Cc,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:is,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:On,height:Pt,colorMode:ls="light",debug:Ac,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",os=Jz(ls),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,...vM},ref:Ft,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(xM,{nodes:e,edges:n,width:On,height:Pt,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(mM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Kz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:as,zIndexMode:gi}),b.jsx(Pz,{onSelectionChange:ee}),Fo,b.jsx(Vz,{proOptions:mi,position:ts}),b.jsx(Iz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var wM=iS(bM);const SM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function _M({children:e}){const n=Ie(SM);return n?Dz.createPortal(e,n):null}function EM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>nS(o,s)),[]);return[n,i,l]}function NM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function kM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function CM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const TM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},zM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(zM,dt),w=l||TM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(CM,{radius:_/2,className:m}):b.jsx(kM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}TS.displayName="Background";const AM=V.memo(TS);function MM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 DM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Au({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const LM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function zS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(LM,dt),{zoomIn:_,zoomOut:T,fitView:B}=Go(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Au,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(MM,{})}),b.jsx(Au,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(jM,{})})]}),i&&b.jsx(Au,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(OM,{})}),l&&b.jsx(Au,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(RM,{}):b.jsx(DM,{})}),m]})}zS.displayName="Controls";const HM=V.memo(zS);function BM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const qM=V.memo(BM),UM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function IM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=qM,onClick:u}){const f=Ie(UM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(YM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function VM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!Mw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const YM=V.memo(VM);var GM=V.memo(IM);const $M=200,XM=150,PM=e=>!e.hidden,FM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Aw(Io(e.nodeLookup,{filter:PM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},QM="react-flow__minimap-desc";function AS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(FM,dt),G=(e==null?void 0:e.width)??$M,D=(e==null?void 0:e.height)??XM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${QM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=oz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(GM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AS.displayName="MiniMap";const ZM=V.memo(AS),KM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,JM={[na.Line]:"right",[na.Handle]:"bottom-right"};function WM({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=sS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===na.Handle,q=Ie(V.useCallback(KM(A&&v),[A,v]),dt),M=V.useRef(null),R=n??JM[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=wz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...jw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(WM);var oh,Hv;function fm(){if(Hv)return oh;Hv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Bv;function e4(){return Bv||(Bv=1,sh="2.2.4"),sh}var uh,qv;function t4(){return qv||(qv=1,uh={Graph:fm(),version:e4()}),uh}var ch,Uv;function n4(){if(Uv)return ch;Uv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Iv;function r4(){if(Iv)return fh;Iv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Vv;function MS(){if(Vv)return dh;Vv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Gv;function i4(){if(Gv)return ph;Gv=1;var e=jS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,$v;function OS(){if($v)return mh;$v=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Xv;function l4(){if(Xv)return gh;Xv=1;var e=OS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Pv;function a4(){if(Pv)return yh;Pv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Kv;function s4(){if(Kv)return wh;Kv=1;var e=RS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Jv;function u4(){if(Jv)return Sh;Jv=1;var e=RS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,Wv;function c4(){if(Wv)return _h;Wv=1;var e=fm(),n=MS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,e1;function f4(){return e1||(e1=1,Eh={components:r4(),dijkstra:jS(),dijkstraAll:i4(),findCycles:l4(),floydWarshall:a4(),isAcyclic:o4(),postorder:s4(),preorder:u4(),prim:c4(),tarjan:OS(),topsort:DS()}),Eh}var Nh,t1;function Vn(){if(t1)return Nh;t1=1;var e=t4();return Nh={Graph:e.Graph,json:n4(),alg:f4(),version:e.version},Nh}var kh,n1;function d4(){if(n1)return kh;n1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,r1;function h4(){if(r1)return Ch;r1=1;let e=Vn().Graph,n=d4();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,l1;function p4(){if(l1)return zh;l1=1;let e=h4(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,a1;function m4(){if(a1)return Ah;a1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,o1;function nc(){if(o1)return Mh;o1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,s1;function LS(){if(s1)return jh;s1=1;var e=Vn().Graph,n=nc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,u1;function g4(){if(u1)return Oh;u1=1;var e=LS(),n=nc().slack,i=nc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,c1;function y4(){if(c1)return Dh;c1=1;var e=nc(),n=e.longestPath,i=LS(),l=g4();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,f1;function x4(){if(f1)return Rh;f1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,d1;function v4(){if(d1)return Lh;d1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,h1;function b4(){if(h1)return Hh;h1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,m1;function S4(){if(m1)return qh;m1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,g1;function _4(){if(g1)return Uh;g1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,y1;function E4(){if(y1)return Ih;y1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,x1;function N4(){if(x1)return Vh;x1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,v1;function k4(){if(v1)return Yh;v1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,b1;function C4(){if(b1)return Gh;b1=1;let e=E4(),n=N4(),i=k4();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,w1;function T4(){if(w1)return $h;w1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,S1;function z4(){if(S1)return Xh;S1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,_1;function A4(){if(_1)return Ph;_1=1;let e=S4(),n=_4(),i=C4(),l=T4(),o=z4(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,E1;function M4(){if(E1)return Fh;E1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,N1;function j4(){if(N1)return Qh;N1=1;let e=Ct(),n=M4().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,k1;function O4(){if(k1)return Zh;k1=1;let e=p4(),n=m4(),i=y4(),l=Ct().normalizeRanks,o=x4(),s=Ct().removeEmptyRanks,u=v4(),f=b4(),d=w4(),h=A4(),m=j4(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,C1;function D4(){if(C1)return Kh;C1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,T1;function R4(){return T1||(T1=1,Jh="1.1.8"),Jh}var Wh,z1;function L4(){return z1||(z1=1,Wh={graphlib:Vn(),layout:O4(),debug:D4(),util:{time:Ct().time,notime:Ct().notime},version:R4()}),Wh}var H4=L4();const A1=Ro(H4),go=200,Yl=56,M1=20,j1=40,B4=20,O1=12;function q4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+M1*2,E=j1+k*Yl+(k-1)*O1+B4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return U4(f,d),{nodes:f,edges:d}}function U4(e,n){var l,o,s,u;const i=new A1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);A1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const I4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=V4(i,u),z=Y4(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Ql(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(I2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function V4(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Y4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const G4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=$4(i,u),v=X4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function $4(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function X4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const P4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=F4(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function F4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Q4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Q2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=Z4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Z4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const K4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Nb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),J4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),W4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(_M,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function ej(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function tj(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Cb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(Y2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(lc,{className:"w-3.5 h-3.5"})})]})})}const nj={agentNode:I4,scriptNode:G4,gateNode:P4,groupNode:Q4,endNode:K4,startNode:J4},rj={animatedEdge:W4},ij={type:"animatedEdge"};function lj(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function aj(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=EM([]),[k,S,E]=NM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=q4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(lj,{}),b.jsx(ej,{}),b.jsx(tj,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(wM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:nj,edgeTypes:rj,defaultEdgeOptions:ij,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(AM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(ZM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(HM,{showInteractive:!1,children:b.jsx(oj,{})}),b.jsx(sj,{})]})]})}function oj(){const{fitView:e}=Go(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(K2,{className:"w-3.5 h-3.5"})})}function sj(){const{fitView:e}=Go();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function HS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=kb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(uj,{text:d}):d})]})}function uj({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(cj,{entry:s},u))})]})}function cj({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function fj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:HS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:dj(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:HS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function dj(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function hj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` --- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Pi,{output:o,title:"Output"})]})}function mj(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const gj=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,yj=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xj={};function R1(e,n){return(xj.jsx?yj:gj).test(e)}const vj=/[ \t\n\f\r]/g;function bj(e){return typeof e=="object"?e.type==="text"?L1(e.value):!1:L1(e)}function L1(e){return e.replace(vj,"")===""}class Xo{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function BS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Xo(i,l,n)}function jp(e){return e.toLowerCase()}class an{constructor(n,i){this.attribute=i,this.property=n}}an.prototype.attribute="";an.prototype.booleanish=!1;an.prototype.boolean=!1;an.prototype.commaOrSpaceSeparated=!1;an.prototype.commaSeparated=!1;an.prototype.defined=!1;an.prototype.mustUseProperty=!1;an.prototype.number=!1;an.prototype.overloadedBoolean=!1;an.prototype.property="";an.prototype.spaceSeparated=!1;an.prototype.space=void 0;let wj=0;const Oe=Fi(),kt=Fi(),Op=Fi(),me=Fi(),at=Fi(),Pl=Fi(),mn=Fi();function Fi(){return 2**++wj}const Dp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:mn,commaSeparated:Pl,number:me,overloadedBoolean:Op,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),ep=Object.keys(Dp);class pm extends an{constructor(n,i,l,o){let s=-1;if(super(n,i),H1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&kj.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,zj);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(Nj,Tj);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function Tj(e){return"-"+e.toLowerCase()}function zj(e){return e.charAt(1).toUpperCase()}const Aj=BS([qS,Sj,VS,YS,GS],"html"),mm=BS([qS,_j,VS,YS,GS],"svg");function Mj(e){return e.join(" ").trim()}var Ll={},tp,q1;function jj(){if(q1)return tp;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function A(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new T(L),R(),G}}function T(L){this.start=L,this.end={line:z,column:_},this.source=E.source}T.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return A(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,A(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var U1;function Oj(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(jj());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function Dj(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function Rj(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(Oj()),i=Dj();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var Lj=Rj();const Hj=Ro(Lj),$S=XS("end"),gm=XS("start");function XS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Bj(e){const n=gm(e),i=$S(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,qj=new Map,Uj=/[A-Z]/g,Ij=new Set(["table","tbody","thead","tfoot","tr"]),Vj=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Yj(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Kj(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=Zj(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:Aj,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=FS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function FS(e,n,i){if(n.type==="element")return Gj(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return $j(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return Pj(e,n,i);if(n.type==="mdxjsEsm")return Xj(e,n);if(n.type==="root")return Fj(e,n,i);if(n.type==="text")return Qj(e,n)}function Gj(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=ZS(e,n.tagName,!1),u=Jj(e,n);let f=vm(e,n);return Ij.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!bj(d):!0})),QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function $j(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function Xj(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function Pj(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:ZS(e,n.name,!0),u=Wj(e,n),f=vm(e,n);return QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Fj(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function Qj(e,n){return n.value}function QS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function Zj(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Kj(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Jj(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=e5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Vj.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function Wj(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:qj;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const P1={}.hasOwnProperty;function s5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),xn=di(/[\dA-Za-z]/),f5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),d5=di(/[\dA-Fa-f]/),h5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Fe(e){return e===-2||e===-1||e===32}const p5=di(new RegExp("\\p{P}|\\p{S}","u")),m5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Fe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Fe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),T=q;T_;){const B=i[A];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function b5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||m5(e))return 1;if(p5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};Z1(p,-d),Z1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=zn(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=zn(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=zn(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=zn(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=zn(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Fe(T)?ot(e,z,"linePrefix",s+1)(T):z(T)}function z(T){return T===null||Te(T)?e.check(K1,k,A)(T):(e.enter("codeFlowValue"),_(T))}function _(T){return T===null||Te(T)?(e.exit("codeFlowValue"),z(T)):(e.consume(T),_)}function A(T){return e.exit("codeFenced"),n(T)}function B(T,q,M){let R=0;return X;function X(G){return T.enter("lineEnding"),T.consume(G),T.exit("lineEnding"),H}function H(G){return T.enter("codeFencedFence"),Fe(G)?ot(T,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(T.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,T.consume(G),ee):R>=u?(T.exit("codeFencedFenceSequence"),Fe(G)?ot(T,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(T.exit("codeFencedFence"),q(G)):M(G)}}}function j5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:D5},O5={partial:!0,tokenize:R5};function D5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(O5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function R5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const L5={name:"codeText",previous:B5,resolve:H5,tokenize:q5};function H5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function r_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Fe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function l_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Fe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const P5={name:"definition",tokenize:Q5},F5={partial:!0,tokenize:Z5};function Q5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return i_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return r_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(F5,p,p)(v)}function p(v){return Fe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Z5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return l_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Fe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const K5={name:"hardBreakEscape",tokenize:J5};function J5(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const W5={name:"headingAtx",resolve:eO,tokenize:tO};function eO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function tO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Fe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const nO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],rO={concrete:!0,name:"htmlFlow",resolveTo:aO,tokenize:oO},iO={partial:!0,tokenize:uO},lO={partial:!0,tokenize:sO};function aO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function oO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&W1.includes(F)?(o=1,l.interrupt?n(N):I(N)):nO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||xn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Fe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),A):Fe(N)?(e.consume(N),_):X(N)}function A(N){return N===45||N===46||N===58||N===95||xn(N)?(e.consume(N),A):B(N)}function B(N){return N===61?(e.consume(N),T):Fe(N)?(e.consume(N),B):_(N)}function T(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Fe(N)?(e.consume(N),T):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Fe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Fe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(iO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(lO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return W1.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function sO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function uO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const cO={name:"htmlText",tokenize:fO};function fO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),A):Te(j)?(u=_,$(j)):(e.consume(j),_)}function A(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),T):i(j)}function T(j){return j===45||xn(j)?(e.consume(j),T):q(j)}function q(j){return Te(j)?(u=q,$(j)):Fe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||xn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Fe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||xn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Fe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Fe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Fe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:mO,resolveTo:gO,tokenize:yO},dO={tokenize:xO},hO={tokenize:vO},pO={tokenize:bO};function mO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Fe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:AO},exit:jO,name:"list",tokenize:zO},CO={partial:!0,tokenize:OO},TO={partial:!0,tokenize:MO};function zO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Iu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(CO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Fe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function AO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Fe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(TO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function MO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function jO(e){e.exit(this.containerState.type)}function OO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Fe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:DO,tokenize:RO};function DO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function RO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Fe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const LO={tokenize:HO};function HO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(V5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const BO={resolveAll:o_()},qO=a_("string"),UO=a_("text");function a_(e){return{resolveAll:o_(e==="text"?IO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function eD(e,n){let i=-1;const l=[];let o;for(;++i4&&i.slice(0,4)==="data"&&Nj.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,Tj);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(Ej,Cj);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function Cj(e){return"-"+e.toLowerCase()}function Tj(e){return e.charAt(1).toUpperCase()}const zj=BS([qS,wj,VS,YS,GS],"html"),mm=BS([qS,Sj,VS,YS,GS],"svg");function Aj(e){return e.join(" ").trim()}var Ll={},tp,q1;function Mj(){if(q1)return tp;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var U1;function jj(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(Mj());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function Oj(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function Dj(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(jj()),i=Oj();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var Rj=Dj();const Lj=Ro(Rj),$S=XS("end"),gm=XS("start");function XS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Hj(e){const n=gm(e),i=$S(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,Bj=new Map,qj=/[A-Z]/g,Uj=new Set(["table","tbody","thead","tfoot","tr"]),Ij=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Vj(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Zj(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=Qj(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:zj,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=FS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function FS(e,n,i){if(n.type==="element")return Yj(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Gj(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return Xj(e,n,i);if(n.type==="mdxjsEsm")return $j(e,n);if(n.type==="root")return Pj(e,n,i);if(n.type==="text")return Fj(e,n)}function Yj(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=ZS(e,n.tagName,!1),u=Kj(e,n);let f=vm(e,n);return Uj.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!vj(d):!0})),QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Gj(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function $j(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function Xj(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:ZS(e,n.name,!0),u=Jj(e,n),f=vm(e,n);return QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Pj(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function Fj(e,n){return n.value}function QS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function Qj(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Zj(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Kj(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=Wj(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Ij.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function Jj(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:Bj;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const P1={}.hasOwnProperty;function o5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),c5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),f5=di(/[\dA-Fa-f]/),d5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Fe(e){return e===-2||e===-1||e===32}const h5=di(new RegExp("\\p{P}|\\p{S}","u")),p5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Fe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Fe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function v5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||p5(e))return 1;if(h5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};Z1(p,-d),Z1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Fe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(K1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Fe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Fe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function M5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:O5},j5={partial:!0,tokenize:D5};function O5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(j5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function D5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const R5={name:"codeText",previous:H5,resolve:L5,tokenize:B5};function L5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function r_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Fe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function l_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Fe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const X5={name:"definition",tokenize:F5},P5={partial:!0,tokenize:Q5};function F5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return i_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return r_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(P5,p,p)(v)}function p(v){return Fe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Q5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return l_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Fe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const Z5={name:"hardBreakEscape",tokenize:K5};function K5(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const J5={name:"headingAtx",resolve:W5,tokenize:eO};function W5(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function eO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Fe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const tO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],nO={concrete:!0,name:"htmlFlow",resolveTo:lO,tokenize:aO},rO={partial:!0,tokenize:sO},iO={partial:!0,tokenize:oO};function lO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function aO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&W1.includes(F)?(o=1,l.interrupt?n(N):I(N)):tO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Fe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Fe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Fe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Fe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Fe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Fe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(rO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(iO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return W1.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function oO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function sO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const uO={name:"htmlText",tokenize:cO};function cO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Fe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Fe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Fe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Fe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Fe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:pO,resolveTo:mO,tokenize:gO},fO={tokenize:yO},dO={tokenize:xO},hO={tokenize:vO};function pO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Fe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:zO},exit:MO,name:"list",tokenize:TO},kO={partial:!0,tokenize:jO},CO={partial:!0,tokenize:AO};function TO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Iu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(kO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Fe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function zO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Fe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(CO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function AO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function MO(e){e.exit(this.containerState.type)}function jO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Fe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:OO,tokenize:DO};function OO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function DO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Fe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const RO={tokenize:LO};function LO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(I5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const HO={resolveAll:o_()},BO=a_("string"),qO=a_("text");function a_(e){return{resolveAll:o_(e==="text"?UO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function WO(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function pD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function mD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function gD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function yD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function xD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function c_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function vD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function bD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function wD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function SD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function _D(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function ED(e,n,i){const l=e.all(n),o=i?ND(i):f_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function hD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function pD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function mD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function gD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function yD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function c_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function xD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function vD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function bD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function wD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function SD(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function _D(e,n,i){const l=e.all(n),o=i?ED(i):f_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function kD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=$S(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function MD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function DD(e,n){const i={type:"text",value:OD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function RD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const LD={blockquote:fD,break:dD,code:hD,delete:pD,emphasis:mD,footnoteReference:gD,heading:yD,html:xD,imageReference:vD,image:bD,inlineCode:wD,linkReference:SD,link:_D,listItem:ED,list:kD,paragraph:CD,root:TD,strong:zD,table:AD,tableCell:jD,tableRow:MD,text:DD,thematicBreak:RD,toml:Mu,yaml:Mu,definition:Mu,footnoteDefinition:Mu};function Mu(){}const d_=-1,Sc=0,wo=1,rc=2,_m=3,Em=4,Nm=5,km=6,h_=7,p_=8,ab=typeof self=="object"?self:globalThis,HD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case d_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case rc:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case h_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case p_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>HD(new Map,e)(0),Hl="",{toString:BD}={},{keys:qD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=BD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[rc,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[h_,i]:[rc,i]},ju=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),UD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=p_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([d_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case rc:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of qD(u))(e||!ju(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(ju(uo(y))||ju(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!ju(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return UD(!(n||i),!!n,new Map,l)(e),l},ic=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function ID(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function VD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function YD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||ID,l=e.options.footnoteBackLabel||VD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...ic(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`});const h={type:"element",tagName:"li",properties:s,children:u};return e.patch(n,h),e.applyData(n,h)}function ED(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const i=e.children;let l=-1;for(;!n&&++l1}function ND(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=$S(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function AD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function OD(e,n){const i={type:"text",value:jD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function DD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const RD={blockquote:cD,break:fD,code:dD,delete:hD,emphasis:pD,footnoteReference:mD,heading:gD,html:yD,imageReference:xD,image:vD,inlineCode:bD,linkReference:wD,link:SD,listItem:_D,list:ND,paragraph:kD,root:CD,strong:TD,table:zD,tableCell:MD,tableRow:AD,text:OD,thematicBreak:DD,toml:Mu,yaml:Mu,definition:Mu,footnoteDefinition:Mu};function Mu(){}const d_=-1,Sc=0,wo=1,rc=2,_m=3,Em=4,Nm=5,km=6,h_=7,p_=8,ab=typeof self=="object"?self:globalThis,LD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case d_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case rc:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case h_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case p_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>LD(new Map,e)(0),Hl="",{toString:HD}={},{keys:BD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=HD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[rc,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[h_,i]:[rc,i]},ju=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),qD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=p_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([d_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case rc:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of BD(u))(e||!ju(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(ju(uo(y))||ju(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!ju(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return qD(!(n||i),!!n,new Map,l)(e),l},ic=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function UD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function ID(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function VD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||UD,l=e.options.footnoteBackLabel||ID,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...ic(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const m_=(function(e){if(e==null)return PD;if(typeof e=="function")return _c(e);if(typeof e=="object")return Array.isArray(e)?GD(e):$D(e);if(typeof e=="string")return XD(e);throw new Error("Expected function, string, or object as test")});function GD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=g_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=JD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==ZD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k":""))+")"})}return y;function y(){let v=g_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=KD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==QD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` -`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=eR(e,n),l=i.one(e,void 0),o=YD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function lR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var lp,hb;function aR(){if(hb)return lp;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:cR,dirname:fR,extname:dR,join:hR,sep:"/"};function cR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Po(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function fR(e){if(Po(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function dR(e){Po(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function hR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function mR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Po(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const gR={cwd:yR};function yR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function xR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return vR(e)}function vR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const _R=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ou(e){return ER(e)?e:new x_(e)}function ER(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function NR(e){return typeof e=="string"||kR(e)}function kR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const CR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},TR=/^(https?|ircs?|mailto|xmpp)$/i,zR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function AR(e){const n=MR(e),i=jR(e);return OR(n.runSync(n.parse(i),i),e)}function MR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return _R().use(cD).use(i).use(lR,l).use(n)}function jR(e){const n=e.children||"",i=new x_;return typeof n=="string"&&(i.value=n),i}function OR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||DR;for(const m of zR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+CR+m.id,void 0);return y_(e,h),Yj(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function DR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||TR.test(e.slice(0,n))?e:""}function RR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,A)=>{if(v){if(A){o(_),d(A);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const A=l===_.value,B=l!==null&&!A;return b.jsx("button",{disabled:!v&&!A,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${A?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:A?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${A?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(LR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(AR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function LR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function HR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:In(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(qR,{item:m},`${m.key}-${m.index}`))})]})]})}const BR={running:lt.running,completed:lt.completed,failed:lt.failed};function qR({item:e}){const[n,i]=V.useState(e.status==="running"),l=BR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:In(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:In(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function UR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return pj;case"human_gate":return RR;case"parallel_group":case"for_each_group":return HR;default:return dj}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(lc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Vu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function IR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(V2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(F2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(VR,{entries:n}):o==="log"?b.jsx(YR,{entries:e}):b.jsx(GR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function VR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Vu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(lc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=v_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Vu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Vu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function YR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=v_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Vu(s.message)})]},u)})})}function v_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function GR({output:e,status:n}){const[i,l]=V.useState(!1),o=kb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx($R,{text:o}):o})})]})}function $R({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function XR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(oj,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(UR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(IR,{})})]})}const PR=3e4;function FR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,PR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function QR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function ZR(){return FR(),null}function KR(){return QR(),null}function JR(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(KR,{}):b.jsx(ZR,{}),b.jsx(dN,{}),b.jsx(XR,{}),i?b.jsx(yN,{}):b.jsx(pN,{})]})}H2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(JR,{})})); +`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=WD(e,n),l=i.one(e,void 0),o=VD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function iR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var lp,hb;function lR(){if(hb)return lp;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:uR,dirname:cR,extname:fR,join:dR,sep:"/"};function uR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Po(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function cR(e){if(Po(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function fR(e){Po(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function dR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function pR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Po(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const mR={cwd:gR};function gR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function yR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return xR(e)}function xR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const SR=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ou(e){return _R(e)?e:new x_(e)}function _R(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function ER(e){return typeof e=="string"||NR(e)}function NR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const kR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},CR=/^(https?|ircs?|mailto|xmpp)$/i,TR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function zR(e){const n=AR(e),i=MR(e);return jR(n.runSync(n.parse(i),i),e)}function AR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return SR().use(uD).use(i).use(iR,l).use(n)}function MR(e){const n=e.children||"",i=new x_;return typeof n=="string"&&(i.value=n),i}function jR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||OR;for(const m of TR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+kR+m.id,void 0);return y_(e,h),Vj(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function OR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||CR.test(e.slice(0,n))?e:""}function DR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(RR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(zR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function RR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function LR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(BR,{item:m},`${m.key}-${m.index}`))})]})]})}const HR={running:lt.running,completed:lt.completed,failed:lt.failed};function BR({item:e}){const[n,i]=V.useState(e.status==="running"),l=HR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function qR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return hj;case"human_gate":return DR;case"parallel_group":case"for_each_group":return LR;default:return fj}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(lc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Vu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function UR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(V2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(F2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(IR,{entries:n}):o==="log"?b.jsx(VR,{entries:e}):b.jsx(YR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function IR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Vu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(lc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=v_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Vu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Vu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function VR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=v_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Vu(s.message)})]},u)})})}function v_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function YR({output:e,status:n}){const[i,l]=V.useState(!1),o=kb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(GR,{text:o}):o})})]})}function GR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function $R(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(aj,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(qR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(UR,{})})]})}const XR=3e4;function PR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,XR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function FR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function QR(){return PR(),null}function ZR(){return FR(),null}function KR(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(ZR,{}):b.jsx(QR,{}),b.jsx(dN,{}),b.jsx($R,{}),i?b.jsx(gN,{}):b.jsx(hN,{})]})}H2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(KR,{})})); diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index d61c448..7baf06d 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
From 542eedf015e2d0802f780df7c664a05f5393da65 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 21:22:46 -0400 Subject: [PATCH 03/18] fix(replay): change speed options to 1x 5x 10x 20x Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/web/frontend/src/components/layout/ReplayBar.tsx | 2 +- .../web/static/assets/{index-h2TJpSjX.js => index-7CXrmpUS.js} | 2 +- src/conductor/web/static/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/conductor/web/static/assets/{index-h2TJpSjX.js => index-7CXrmpUS.js} (99%) diff --git a/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx index 6656ddd..50be842 100644 --- a/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx +++ b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx @@ -2,7 +2,7 @@ import { Play, Pause } from 'lucide-react'; import { useWorkflowStore } from '@/stores/workflow-store'; import { cn } from '@/lib/utils'; -const SPEEDS = [1, 2, 4, 8] as const; +const SPEEDS = [1, 5, 10, 20] as const; function formatRelativeTime(events: { timestamp: number }[], position: number): string { if (position === 0 || events.length === 0) return '+0.0s'; diff --git a/src/conductor/web/static/assets/index-h2TJpSjX.js b/src/conductor/web/static/assets/index-7CXrmpUS.js similarity index 99% rename from src/conductor/web/static/assets/index-h2TJpSjX.js rename to src/conductor/web/static/assets/index-7CXrmpUS.js index f04c36d..65f9317 100644 --- a/src/conductor/web/static/assets/index-h2TJpSjX.js +++ b/src/conductor/web/static/assets/index-7CXrmpUS.js @@ -236,7 +236,7 @@ Error generating stack: `+c.message+` transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,2,4,8];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,5,10,20];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 7baf06d..03b0dee 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,7 +5,7 @@ Conductor Dashboard - + From 45ca3fad08351838ebeb9e4e176706bf831ee8a8 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 21:25:15 -0400 Subject: [PATCH 04/18] fix(replay): add 50x speed option Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/web/frontend/src/components/layout/ReplayBar.tsx | 2 +- .../web/static/assets/{index-7CXrmpUS.js => index-BVgZmmhv.js} | 2 +- src/conductor/web/static/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/conductor/web/static/assets/{index-7CXrmpUS.js => index-BVgZmmhv.js} (99%) diff --git a/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx index 50be842..ba05631 100644 --- a/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx +++ b/src/conductor/web/frontend/src/components/layout/ReplayBar.tsx @@ -2,7 +2,7 @@ import { Play, Pause } from 'lucide-react'; import { useWorkflowStore } from '@/stores/workflow-store'; import { cn } from '@/lib/utils'; -const SPEEDS = [1, 5, 10, 20] as const; +const SPEEDS = [1, 5, 10, 20, 50] as const; function formatRelativeTime(events: { timestamp: number }[], position: number): string { if (position === 0 || events.length === 0) return '+0.0s'; diff --git a/src/conductor/web/static/assets/index-7CXrmpUS.js b/src/conductor/web/static/assets/index-BVgZmmhv.js similarity index 99% rename from src/conductor/web/static/assets/index-7CXrmpUS.js rename to src/conductor/web/static/assets/index-BVgZmmhv.js index 65f9317..d7f75af 100644 --- a/src/conductor/web/static/assets/index-7CXrmpUS.js +++ b/src/conductor/web/static/assets/index-BVgZmmhv.js @@ -236,7 +236,7 @@ Error generating stack: `+c.message+` transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,5,10,20];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,5,10,20,50];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 03b0dee..0dbe849 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,7 +5,7 @@ Conductor Dashboard - + From 1582b05d745bc871882bd7f0c218ec89efdf6da5 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 21:35:19 -0400 Subject: [PATCH 05/18] feat(dashboard): add YAML config viewer to dashboard Include raw YAML text in the workflow_started event via a yaml_source field. The frontend stores it and shows a "YAML" button in the header that opens a slide-over panel. Works in both live and replay modes since the YAML flows through the event pipeline. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/engine/workflow.py | 10 ++ .../frontend/src/components/layout/Header.tsx | 21 +++- .../src/components/layout/YamlViewer.tsx | 45 +++++++ .../web/frontend/src/stores/workflow-store.ts | 3 + .../web/static/assets/index-B8aRBcbg.css | 1 + .../web/static/assets/index-BiFZfGbw.css | 1 - .../{index-BVgZmmhv.js => index-DVOAl3ih.js} | 112 ++++++++++-------- src/conductor/web/static/index.html | 4 +- 8 files changed, 141 insertions(+), 56 deletions(-) create mode 100644 src/conductor/web/frontend/src/components/layout/YamlViewer.tsx create mode 100644 src/conductor/web/static/assets/index-B8aRBcbg.css delete mode 100644 src/conductor/web/static/assets/index-BiFZfGbw.css rename src/conductor/web/static/assets/{index-BVgZmmhv.js => index-DVOAl3ih.js} (80%) diff --git a/src/conductor/engine/workflow.py b/src/conductor/engine/workflow.py index 509e986..d64850b 100644 --- a/src/conductor/engine/workflow.py +++ b/src/conductor/engine/workflow.py @@ -381,6 +381,15 @@ def _emit(self, event_type: str, data: dict[str, Any]) -> None: event = WorkflowEvent(type=event_type, timestamp=_time.time(), data=data) self._event_emitter.emit(event) + def _yaml_source_field(self) -> dict[str, str]: + """Return ``{"yaml_source": }`` if the workflow file is readable.""" + if self.workflow_path is None: + return {} + try: + return {"yaml_source": self.workflow_path.read_text(encoding="utf-8")} + except OSError: + return {} + def _make_event_callback(self, agent_name: str) -> Any: """Create an event callback for an agent that forwards to the emitter. @@ -1009,6 +1018,7 @@ async def _execute_loop(self, current_agent_name: str) -> dict[str, Any]: for f in self.config.for_each for r in f.routes ], + **self._yaml_source_field(), }, ) diff --git a/src/conductor/web/frontend/src/components/layout/Header.tsx b/src/conductor/web/frontend/src/components/layout/Header.tsx index 6439a09..d8fb583 100644 --- a/src/conductor/web/frontend/src/components/layout/Header.tsx +++ b/src/conductor/web/frontend/src/components/layout/Header.tsx @@ -1,14 +1,17 @@ import { useState, useEffect } from 'react'; -import { Activity, Square, Play, X, Download } from 'lucide-react'; +import { Activity, Square, Play, X, Download, FileCode } from 'lucide-react'; import { useWorkflowStore } from '@/stores/workflow-store'; +import { YamlViewer } from '@/components/layout/YamlViewer'; export function Header() { const workflowName = useWorkflowStore((s) => s.workflowName); const workflowStatus = useWorkflowStore((s) => s.workflowStatus); const isPaused = useWorkflowStore((s) => s.isPaused); + const workflowYaml = useWorkflowStore((s) => s.workflowYaml); const [stopping, setStopping] = useState(false); const [resuming, setResuming] = useState(false); const [killing, setKilling] = useState(false); + const [showYaml, setShowYaml] = useState(false); const isRunning = workflowStatus === 'running' || workflowStatus === 'pending'; @@ -108,6 +111,19 @@ export function Header() { {stopping ? 'Stopping...' : 'Stop'} ) : null} + {workflowYaml && ( + + )} Dashboard v1.0 + {showYaml && workflowYaml && ( + setShowYaml(false)} /> + )} ); } diff --git a/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx b/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx new file mode 100644 index 0000000..56f48dc --- /dev/null +++ b/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx @@ -0,0 +1,45 @@ +import { useEffect } from 'react'; +import { X } from 'lucide-react'; + +interface YamlViewerProps { + yaml: string; + onClose: () => void; +} + +export function YamlViewer({ yaml, onClose }: YamlViewerProps) { + useEffect(() => { + const handleKey = (e: KeyboardEvent) => { + if (e.key === 'Escape') onClose(); + }; + window.addEventListener('keydown', handleKey); + return () => window.removeEventListener('keydown', handleKey); + }, [onClose]); + + return ( +
+ {/* Backdrop */} +
+ + {/* Panel */} +
+ {/* Header */} +
+ Workflow YAML + +
+ + {/* Content */} +
+
+            {yaml}
+          
+
+
+
+ ); +} diff --git a/src/conductor/web/frontend/src/stores/workflow-store.ts b/src/conductor/web/frontend/src/stores/workflow-store.ts index fdaaccb..6debb4c 100644 --- a/src/conductor/web/frontend/src/stores/workflow-store.ts +++ b/src/conductor/web/frontend/src/stores/workflow-store.ts @@ -176,6 +176,7 @@ interface WorkflowState { workflowStartTime: number | null; workflowFailure: { error_type?: string; message?: string; elapsed_seconds?: number; timeout_seconds?: number; current_agent?: string; checkpoint_path?: string } | null; workflowFailedAgent: string | null; + workflowYaml: string | null; entryPoint: string | null; // Graph structure @@ -274,6 +275,7 @@ export const useWorkflowStore = create((set) => ({ workflowStartTime: null, workflowFailure: null, workflowFailedAgent: null, + workflowYaml: null, entryPoint: null, agents: [], routes: [], @@ -488,6 +490,7 @@ const eventHandlers: Record).yaml_source as string ?? null; state.entryPoint = data.entry_point || null; state.agents = data.agents || []; state.routes = data.routes || []; diff --git a/src/conductor/web/static/assets/index-B8aRBcbg.css b/src/conductor/web/static/assets/index-B8aRBcbg.css new file mode 100644 index 0000000..d4c56fd --- /dev/null +++ b/src/conductor/web/static/assets/index-B8aRBcbg.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-BiFZfGbw.css b/src/conductor/web/static/assets/index-BiFZfGbw.css deleted file mode 100644 index cc4b1c9..0000000 --- a/src/conductor/web/static/assets/index-BiFZfGbw.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-BVgZmmhv.js b/src/conductor/web/static/assets/index-DVOAl3ih.js similarity index 80% rename from src/conductor/web/static/assets/index-BVgZmmhv.js rename to src/conductor/web/static/assets/index-DVOAl3ih.js index d7f75af..3f1516a 100644 --- a/src/conductor/web/static/assets/index-BVgZmmhv.js +++ b/src/conductor/web/static/assets/index-DVOAl3ih.js @@ -45,8 +45,8 @@ var N2=Object.defineProperty;var k2=(e,n,i)=>n in e?N2(e,n,{enumerable:!0,config `);for(g=c=0;cg||Q[c]!==le[g]){var ce=` `+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` Error generating stack: `+c.message+` -`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function os(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,us=null;function Dm(){if(us)return us;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Q_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function Z_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),us=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=nu(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(E2){return r(te,E2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Pe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),sg(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=hE(Q,c);Oa(t,r,ce,mn(t))}else Oa(t,r,c,mn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function vE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?vE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},mn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function bE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function wE(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=wE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=zs(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Ps&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Ps&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function kE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;FE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function CE(t,r){if(t=t.containerInfo,bd=cu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Pe&6)!==0)throw Error(l(331));var O=Pe;if(Pe|=4,W0(x.current),Z0(x,x.current,C,a),Pe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new AE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=RE.bind(null,t,r,a),r.then(t,t))}function RE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Pe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Fo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function LE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function HE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function BE(t,r){return Ut(t,r)}var Ws=null,zl=null,fd=!1,eu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,fd||(fd=!0,UE())}function Ga(t,r){if(!dd&&eu){dd=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function qE(){wy()}function wy(){eu=fd=!1;var t=0;ei!==0&&ZE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function l2(t){Er.D(t),Gy("dns-prefetch",t,null)}function a2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function o2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function u2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function c2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function f2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||d2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function d2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,lu(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function h2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function p2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function m2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(g2,t),su=null,ou.call(t))}function g2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}var H2=L2();/** +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function ss(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,cs=null;function Dm(){if(cs)return cs;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Q_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function Z_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),cs=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=ru(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(E2){return r(te,E2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=bs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,Cs(ie),fe);if(ie.$$typeof===_)return nt(te,W,_s(te,ie),fe);Ts(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Ns)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=vs(t),sg(t,null,a),r}return xs(t,c,r,a),vs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=hE(Q,c);Oa(t,r,ce,mn(t))}else Oa(t,r,c,mn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function vE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?vE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},mn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function bE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function wE(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Bs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return xs(t,r,g,0),rt===null&&ys(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Bs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Bs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=Ms=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}var Da={readContext:Ht,use:Ds,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Ds,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ls(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ls(4194308,4,t,r)},useInsertionEffect:function(t,r){Ls(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=wE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=js++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=iu(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ys(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=As(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Ys(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=As(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ys(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Ys(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function kE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;FE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Gs(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Gs(t,r,a),t=t.sibling;t!==null;)Gs(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function CE(t,r){if(t=t.containerInfo,bd=fu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},fu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,W0(x.current),Z0(x,x.current,C,a),Fe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new AE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=RE.bind(null,t,r,a),r.then(t,t))}function RE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Ps?(Fe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Qo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function LE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function HE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function BE(t,r){return Ut(t,r)}var eu=null,zl=null,fd=!1,tu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?eu=zl=t:zl=zl.next=t),tu=!0,fd||(fd=!0,UE())}function Ga(t,r){if(!dd&&tu){dd=!0;do for(var a=!1,c=eu;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function qE(){wy()}function wy(){tu=fd=!1;var t=0;ei!==0&&ZE()&&(t=ei);for(var r=At(),a=null,c=eu;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?eu=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(tu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function l2(t){Er.D(t),Gy("dns-prefetch",t,null)}function a2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function o2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function u2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,au(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function c2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function f2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?lu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||d2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function d2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),au(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,au(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,au(c,a.precedence,t));return r.instance}function au(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function h2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function p2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=su.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=su.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function m2(t,r){return t.stylesheets&&t.count===0&&cu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function su(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var uu=null;function cu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,uu=new Map,r.forEach(g2,t),uu=null,su.call(t))}function g2(t,r){if(!(r.state.loading&4)){var a=uu.get(t);if(a)var c=a.get(null);else{a=new Map,uu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}var H2=L2();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -66,177 +66,185 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(U2,{ref:s,iconNode:n,className:Sb(`lucide-${B2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** + */const Pe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(U2,{ref:s,iconNode:n,className:Sb(`lucide-${B2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _b=Qe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const _b=Pe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const I2=Qe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const I2=Pe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Bi=Qe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const Bi=Pe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ra=Qe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const ra=Pe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ho=Qe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const Ho=Pe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const V2=Qe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const V2=Pe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Y2=Qe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const Y2=Pe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const G2=Qe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */const G2=Pe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $2=Qe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** + */const $2=Pe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Eb=Qe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const Eb=Pe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const X2=Qe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + */const X2=Pe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const P2=Qe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const P2=Pe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const F2=Qe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** + */const F2=Pe("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Q2=Qe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const Q2=Pe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z2=Qe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** + */const Z2=Pe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const So=Qe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const K2=Pe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K2=Qe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + */const So=Pe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const J2=Qe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** + */const J2=Pe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vp=Qe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const W2=Pe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const W2=Qe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const Vp=Pe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eN=Qe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const eN=Pe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tN=Qe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const tN=Pe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nN=Qe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const nN=Pe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bx=Qe("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + */const rN=Pe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nb=Qe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + */const bx=Pe("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rN=Qe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const Nb=Pe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iN=Qe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const iN=Pe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lN=Qe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const lN=Pe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aN=Qe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** + */const aN=Pe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lc=Qe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + */const oN=Pe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?wx(e):wx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=xu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=vu(n);s&&o.eventLog.push(s);const u=bu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=xu[o.type];s&&s(l,o.data,o.timestamp);const u=vu(o);u&&l.eventLog.push(u);const f=bu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=xu[s.type];u&&u(o,s.data,s.timestamp);const f=vu(s);f&&o.eventLog.push(f);const d=bu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),xu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function vu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Du(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function bu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=he(v=>v.workflowName),n=he(v=>v.workflowStatus),i=he(v=>v.isPaused),[l,o]=V.useState(!1),[s,u]=V.useState(!1),[f,d]=V.useState(!1),h=n==="running"||n==="pending";V.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},y=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + */const Bo=Pe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sN=Pe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},uN=(e=>e?wx(e):wx),cN=e=>e;function fN(e,n=cN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=uN(e),i=l=>fN(n,l);return Object.assign(i,n),i},dN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function xu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=dN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,workflowYaml:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bu(n);s&&o.eventLog.push(s);const u=wu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=vu[s.type];u&&u(o,s.data,s.timestamp);const f=bu(s);f&&o.eventLog.push(f);const d=wu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.workflowYaml=l.yaml_source??null,e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Ru(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function hN({yaml:e,onClose:n}){return V.useEffect(()=>{const i=l=>{l.key==="Escape"&&n()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[n]),b.jsxs("div",{className:"fixed inset-0 z-50 flex",children:[b.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:n}),b.jsxs("div",{className:"relative ml-auto w-full max-w-2xl h-full flex flex-col bg-[var(--surface)] border-l border-[var(--border)] shadow-2xl",children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-[var(--border)]",children:[b.jsx("span",{className:"text-sm font-semibold text-[var(--text)]",children:"Workflow YAML"}),b.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-auto p-4",children:b.jsx("pre",{className:"text-xs font-mono text-[var(--text-secondary)] whitespace-pre leading-relaxed",children:e})})]})]})}function pN(){const e=he(S=>S.workflowName),n=he(S=>S.workflowStatus),i=he(S=>S.isPaused),l=he(S=>S.workflowYaml),[o,s]=V.useState(!1),[u,f]=V.useState(!1),[d,h]=V.useState(!1),[m,p]=V.useState(!1),y=n==="running"||n==="pending";V.useEffect(()=>{i||(s(!1),f(!1),h(!1))},[i]);const v=async()=>{s(!0);try{await fetch("/api/stop",{method:"POST"})}catch(S){console.error("Failed to stop agent:",S),s(!1)}},w=async()=>{f(!0);try{await fetch("/api/resume",{method:"POST"})}catch(S){console.error("Failed to resume agent:",S),f(!1)}},k=async()=>{h(!0);try{await fetch("/api/kill",{method:"POST"})}catch(S){console.error("Failed to kill workflow:",S),h(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:w,disabled:u,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 hover:border-emerald-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Vp,{className:"w-3 h-3"}),s?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:y,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Vp,{className:"w-3 h-3"}),u?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:k,disabled:d,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 hover:border-red-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(lc,{className:"w-3 h-3"}),f?"Killing...":"Kill"]})]}):h?b.jsxs("button",{onClick:m,disabled:l,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(Bo,{className:"w-3 h-3"}),d?"Killing...":"Kill"]})]}):y?b.jsxs("button",{onClick:v,disabled:o,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 hover:border-red-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,children:[b.jsx(Nb,{className:"w-3 h-3"}),o?"Stopping...":"Stop"]}):null,l&&b.jsxs("button",{onClick:()=>p(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] + hover:text-[var(--text)] hover:bg-[var(--surface)] + transition-colors`,title:"View workflow YAML configuration",children:[b.jsx(F2,{className:"w-3 h-3"}),"YAML"]}),b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function hN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(Z2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const pN=[1,5,10,20,50];function mN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function gN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(J2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(X2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]}),m&&l&&b.jsx(hN,{yaml:l,onClose:()=>p(!1)})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function kb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Cb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function mN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Cb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(oN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(K2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const gN=[1,5,10,20,50];function yN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function xN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(W2,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; @@ -256,7 +264,7 @@ Error generating stack: `+c.message+` cursor: pointer; box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); } - `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:mN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:pN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,_x=M2.useId,yN=typeof _x=="function"?_x:()=>null;let xN=0;function Gp(e=null){const n=yN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+xN++),e??i.current}function Tb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(Tb,{...e,forwardedRef:n}));Tb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Ru=-1,ci=null;function vN(e,n){if(n){const i=(n&Ob)!==0,l=(n&Db)!==0,o=(n&Rb)!==0,s=(n&Lb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function bN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Ru=-1)}function Yd(e,n){var i,l;const o=vN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Ru>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Ru)}Ru=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function zb(e){return e.type==="keydown"}function Ab(e){return e.type.startsWith("pointer")}function Mb(e){return e.type.startsWith("mouse")}function oc(e){if(Ab(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Mb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function wN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function SN(e,n,i){return e.xn.x&&e.yn.y}function _N(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:kx(e),b:kx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Nx(Ex(i.a)),b:Nx(Ex(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const EN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function NN(e){var n;const i=getComputedStyle((n=jb(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function kN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||NN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||EN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Ex(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),kN(i))return i}return null}function Nx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kx(e){const n=[];for(;e;)n.push(e),e=jb(e);return n}function jb(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Ob=1,Db=2,Rb=4,Lb=8,CN=wN()==="coarse";let In=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function TN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Yu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Yu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function zN(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Yu(),In.length>0&&(Gu("down",e),e.preventDefault(),Hb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,Gu("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}Gu("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,In.length>0&&(e.preventDefault(),Hb(n)||e.stopImmediatePropagation()),Gu("up",e),$p({target:n,x:i,y:l}),Xp(),Yu()}function Hb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=CN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&_N(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(SN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):bN()}let Pd=new AbortController;function Yu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",zN,e),l.addEventListener("pointermove",Gd,e))}))}function Gu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function AN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function MN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(MN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function jN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Bb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function qb(e,n,i){const l=Bb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ub(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function ON(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function DN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ub(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=ON(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=fo({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:qb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Cx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function wu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Tx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Vb(e){return`react-resizable-panels:${e}`}function Yb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Gb(e,n){try{const i=Vb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function UN(e,n,i){var l,o;const s=(l=Gb(e,i))!==null&&l!==void 0?l:{},u=Yb(n);return(o=s[u])!==null&&o!==void 0?o:null}function IN(e,n,i,l,o){var s;const u=Vb(e),f=Yb(n),d=(s=Gb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function zx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Tx(ho),ho.getItem(e)),setItem:(e,n)=>{Tx(ho),ho.setItem(e,n)}},Ax={};function $b({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=AN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=zx({layout:N,panelConstraints:K.map(re=>re.constraints)});Cx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),DN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Ax[e];Y==null&&(Y=qN(IN,VN),Ax[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});wu(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});wu(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return BN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=UN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=HN({panelDataArray:ne}));const se=zx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Cx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=qb(ve,N,re);let We=LN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:zb(ne)?"keyboard":"mouse-or-touch"}),wn=!wu(_e,Dt);(Ab(ne)||Mb(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Ob:Db):Xd(N,We<0?Rb:Lb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});wu(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Ib(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement($b,{...e,forwardedRef:n}));$b.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function YN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=Bb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return TN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),YN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Lu.prototype=cc.prototype={constructor:Lu,on:function(e,n){var i=this._,l=$N(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),jx.hasOwnProperty(n)?{space:jx[n],local:e}:e}function PN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function FN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xb(e){var n=fc(e);return(n.local?FN:PN)(n)}function QN(){}function Pp(e){return e==null?QN:function(){return this.querySelector(e)}}function ZN(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function wk(e){e||(e=Sk);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ek(){return Array.from(this)}function Nk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Lk:typeof n=="function"?Bk:Hk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Kb(e).getComputedStyle(e,null).getPropertyValue(n)}function Uk(e){return function(){delete this[e]}}function Ik(e,n){return function(){this[e]=n}}function Vk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Yk(e,n){return arguments.length>1?this.each((n==null?Uk:typeof n=="function"?Vk:Ik)(e,n)):this.node()[e]}function Jb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new Wb(e)}function Wb(e){this._node=e,this._names=Jb(e.getAttribute("class")||"")}Wb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ew(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function yC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function CC(e){return!e.ctrlKey&&!e.button}function TC(){return this.parentNode}function zC(e,n){return n??{x:e.x,y:e.y}}function AC(){return navigator.maxTouchPoints||"ontouchstart"in this}function aw(){var e=CC,n=TC,i=zC,l=AC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,kC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),iw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if($l(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),lw(T.view,h),$l(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?_u(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?_u(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=jC.exec(e))?new nn(n[1],n[2],n[3],1):(n=OC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=DC.exec(e))?_u(n[1],n[2],n[3],n[4]):(n=RC.exec(e))?_u(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=LC.exec(e))?qx(n[1],n[2]/100,n[3]/100,1):(n=HC.exec(e))?qx(n[1],n[2]/100,n[3]/100,n[4]):Ox.hasOwnProperty(e)?Lx(Ox[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Lx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function _u(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function UC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?UC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Pu(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:Hx,formatHex:Hx,formatHex8:IC,formatRgb:Bx,toString:Bx}));function Hx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function IC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bx(){const e=Pu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Pu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function qx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function sw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function VC(e,n,i,l){return arguments.length===1?sw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,VC,ow(qo,{brighter(e){return e=e==null?Xu:Math.pow(Xu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Ux(this.h),Eu(this.s),Eu(this.l),Pu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ux(this.h)}, ${Eu(this.s)*100}%, ${Eu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ux(e){return e=(e||0)%360,e<0?e+360:e}function Eu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function YC(e,n){return function(i){return e+i*n}}function GC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function $C(e){return(e=+e)==1?uw:function(n,i){return i-n?GC(n,i,e):Zp(isNaN(n)?i:n)}}function uw(e,n){var i=n-e;return i?YC(e,i):Zp(isNaN(e)?n:e)}const Fu=(function e(n){var i=$C(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=uw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function XC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Yx(){Gi=(Zu=To.now())+dc,Kl=po=0;try{o3()}finally{Kl=0,u3(),Gi=0}}function s3(){var e=To.now(),n=e-Zu;n>hw&&(dc-=n,Zu=e)}function u3(){for(var e,n=Qu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Qu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Yx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Zu=To.now(),io=setInterval(s3,hw)),Kl=1,pw(Yx))}}function Gx(e,n,i){var l=new Ku;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var c3=cc("start","end","cancel","interrupt"),f3=[],gw=0,$x=1,Ep=2,Bu=3,Xx=4,Np=5,qu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;d3(e,i,{name:n,index:l,group:o,on:c3,tween:f3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:gw})}function Jp(e,n){var i=Yn(e,n);if(i.state>gw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Bu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function d3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=mw(s,0,i.time);function s(h){i.state=$x,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==$x)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Bu)return Gx(u);v.state===Xx?(v.state=qu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function V3(e,n,i){var l,o,s=I3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function Y3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(V3(i,e,n))}function G3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function $3(){return this.on("end.remove",G3(this._id))}function X3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function yT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);bw.prototype=Cr.prototype;function bw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function xT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function vT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Px(){return this.__zoom||pc}function bT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function wT(){return navigator.maxTouchPoints||"ontouchstart"in this}function ST(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function ww(){var e=xT,n=vT,i=ST,l=bT,o=wT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Hu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Px).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Px),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new yT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Uu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;iw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Uu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),lw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Uu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sw=["Enter"," ","Escape"],_w={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Ew={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Ju;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ju||(Ju={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Nw(e){return e===null?null:e?"valid":"invalid"}const kw=e=>"id"in e&&"source"in e&&"target"in e,_T=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},ET=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?Wu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,Wu(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},NT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function kT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function CT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=kT(e,u),d=Io(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Cw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function TT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=NT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Tw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Qx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,zw=(e,n,i=15,l=40)=>{const o=Qx(e.x,l,n.width-l)*i,s=Qx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Wu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Aw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Zx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),zT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},ec=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function AT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function MT(e,n,i,l,o,s){const{x:u,y:f}=ec(e,[n,i,l]),{x:d,y:h}=ec({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=AT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=MT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Mw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Kx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function jT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function OT(e){return{..._w,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ow=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},DT=["INPUT","SELECT","TEXTAREA"];function Dw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:DT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Rw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Rw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Jx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Lw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Cu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Wx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Cu(n-l,s),i];case we.Right:return[n+Cu(l-n,s),i];case we.Top:return[n,i-Cu(i-o,s)];case we.Bottom:return[n,i+Cu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Wx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Wx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const HT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,BT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),qT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||HT;let o;return kw(e)?o={...e}:o={...e,id:l(e)},BT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Hw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const ev={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},UT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function IT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=ev[n],d=ev[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=UT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=Hw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function VT(e,n,i,l){const o=Math.min(tv(e,n)/2,tv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function GT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const qw=1e3,$T=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},XT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function PT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function FT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(XT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?qw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:FT(p,y),z:Uw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function QT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}QT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*$T),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?qw:0,{x:y,y:v,z:w}=ZT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Uw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function ZT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Tw(p,d,n));const y=Uw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Aw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function JT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function lv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Iw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;lv("source",d,m,e,o,u),lv("target",d,h,e,s,f),n.set(l.id,l)}}function Vw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vw(i,n):!1}function av(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function WT(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Vw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function ez({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function tz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Io(f)):null,K=Y&&$?ez({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Cw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=zw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=WT(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=aw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!av(ee,`.${z}`,T))&&(!_||av(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function nz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const rz=250;function iz(e,n,i,l){var f,d;let o=[],s=1/0;const u=nz(e,i,n+rz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Yw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Gw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function lz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const $w=()=>!0;function az(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=$w,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Ow(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Gw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Yw(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=zw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Fx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=iz(Yo(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Xw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=lz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?ec({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Fx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Xw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=$w,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Gw(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=Yw(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:az,isValid:Xw};function oz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=ww().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),sz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=sz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Fw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function uz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Fw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function cz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function fz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function dz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function hz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function pz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function mz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=ww().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Fw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?uz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):cz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=fz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=dz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=hz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=pz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?bw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Hu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function gz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function ov(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Tu(e,n,i){return Math.max(0,n-e,e-i)}function sv(e,n){return e?!n:n}function yz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=Tu(X,k,S),G=Tu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Tu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Tu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(sv(d,h)?-M:M)/q:M=(sv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Qw={width:0,height:0,x:0,y:0},xz={...Qw,pointerX:0,pointerY:0,aspectRatio:1};function vz(e){return[[0,0],[e.measured.width,e.measured.height]]}function bz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function wz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:ov("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Qw},z={...xz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:ov(h)};let _,T=null,B=[],A,q,M,R=!1;const X=aw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?vz(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=bz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=yz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** + `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:yN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:gN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,_x=M2.useId,vN=typeof _x=="function"?_x:()=>null;let bN=0;function Gp(e=null){const n=vN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+bN++),e??i.current}function Tb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(Tb,{...e,forwardedRef:n}));Tb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Lu=-1,ci=null;function wN(e,n){if(n){const i=(n&Ob)!==0,l=(n&Db)!==0,o=(n&Rb)!==0,s=(n&Lb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function SN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Lu=-1)}function Yd(e,n){var i,l;const o=wN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Lu>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Lu)}Lu=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function zb(e){return e.type==="keydown"}function Ab(e){return e.type.startsWith("pointer")}function Mb(e){return e.type.startsWith("mouse")}function oc(e){if(Ab(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Mb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function _N(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function EN(e,n,i){return e.xn.x&&e.yn.y}function NN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:kx(e),b:kx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Nx(Ex(i.a)),b:Nx(Ex(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const kN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function CN(e){var n;const i=getComputedStyle((n=jb(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function TN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||CN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||kN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Ex(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),TN(i))return i}return null}function Nx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kx(e){const n=[];for(;e;)n.push(e),e=jb(e);return n}function jb(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Ob=1,Db=2,Rb=4,Lb=8,zN=_N()==="coarse";let In=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function AN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Gu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Gu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function MN(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Gu(),In.length>0&&($u("down",e),e.preventDefault(),Hb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,$u("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}$u("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,In.length>0&&(e.preventDefault(),Hb(n)||e.stopImmediatePropagation()),$u("up",e),$p({target:n,x:i,y:l}),Xp(),Gu()}function Hb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=zN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&NN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(EN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):SN()}let Pd=new AbortController;function Gu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",MN,e),l.addEventListener("pointermove",Gd,e))}))}function $u(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function jN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function ON(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(ON(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function DN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Bb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function qb(e,n,i){const l=Bb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ub(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function RN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function LN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ub(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=RN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=fo({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:qb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Cx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function Su(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Tx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Vb(e){return`react-resizable-panels:${e}`}function Yb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Gb(e,n){try{const i=Vb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function VN(e,n,i){var l,o;const s=(l=Gb(e,i))!==null&&l!==void 0?l:{},u=Yb(n);return(o=s[u])!==null&&o!==void 0?o:null}function YN(e,n,i,l,o){var s;const u=Vb(e),f=Yb(n),d=(s=Gb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function zx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Tx(ho),ho.getItem(e)),setItem:(e,n)=>{Tx(ho),ho.setItem(e,n)}},Ax={};function $b({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=jN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=zx({layout:N,panelConstraints:K.map(re=>re.constraints)});Cx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),LN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Ax[e];Y==null&&(Y=IN(YN,GN),Ax[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});Su(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});Su(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return UN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=VN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=qN({panelDataArray:ne}));const se=zx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Cx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=qb(ve,N,re);let We=BN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:zb(ne)?"keyboard":"mouse-or-touch"}),wn=!Su(_e,Dt);(Ab(ne)||Mb(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Ob:Db):Xd(N,We<0?Rb:Lb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});Su(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Ib(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement($b,{...e,forwardedRef:n}));$b.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function $N({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=Bb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return AN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),$N({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Hu.prototype=cc.prototype={constructor:Hu,on:function(e,n){var i=this._,l=PN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),jx.hasOwnProperty(n)?{space:jx[n],local:e}:e}function QN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function ZN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xb(e){var n=fc(e);return(n.local?ZN:QN)(n)}function KN(){}function Pp(e){return e==null?KN:function(){return this.querySelector(e)}}function JN(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function _k(e){e||(e=Ek);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function Nk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function kk(){return Array.from(this)}function Ck(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Bk:typeof n=="function"?Uk:qk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Kb(e).getComputedStyle(e,null).getPropertyValue(n)}function Vk(e){return function(){delete this[e]}}function Yk(e,n){return function(){this[e]=n}}function Gk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function $k(e,n){return arguments.length>1?this.each((n==null?Vk:typeof n=="function"?Gk:Yk)(e,n)):this.node()[e]}function Jb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new Wb(e)}function Wb(e){this._node=e,this._names=Jb(e.getAttribute("class")||"")}Wb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ew(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function vC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function zC(e){return!e.ctrlKey&&!e.button}function AC(){return this.parentNode}function MC(e,n){return n??{x:e.x,y:e.y}}function jC(){return navigator.maxTouchPoints||"ontouchstart"in this}function aw(){var e=zC,n=AC,i=MC,l=jC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,TC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),iw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if($l(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),lw(T.view,h),$l(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Eu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Eu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=DC.exec(e))?new nn(n[1],n[2],n[3],1):(n=RC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=LC.exec(e))?Eu(n[1],n[2],n[3],n[4]):(n=HC.exec(e))?Eu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=BC.exec(e))?qx(n[1],n[2]/100,n[3]/100,1):(n=qC.exec(e))?qx(n[1],n[2]/100,n[3]/100,n[4]):Ox.hasOwnProperty(e)?Lx(Ox[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Lx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function Eu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function VC(e){return e instanceof Uo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?VC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,ow(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Fu(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:Hx,formatHex:Hx,formatHex8:YC,formatRgb:Bx,toString:Bx}));function Hx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function YC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bx(){const e=Fu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Fu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function qx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function sw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof Uo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function GC(e,n,i,l){return arguments.length===1?sw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,GC,ow(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Ux(this.h),Nu(this.s),Nu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ux(this.h)}, ${Nu(this.s)*100}%, ${Nu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ux(e){return e=(e||0)%360,e<0?e+360:e}function Nu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function $C(e,n){return function(i){return e+i*n}}function XC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function PC(e){return(e=+e)==1?uw:function(n,i){return i-n?XC(n,i,e):Zp(isNaN(n)?i:n)}}function uw(e,n){var i=n-e;return i?$C(e,i):Zp(isNaN(e)?n:e)}const Qu=(function e(n){var i=PC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=uw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function FC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Yx(){Gi=(Ku=To.now())+dc,Kl=po=0;try{u3()}finally{Kl=0,f3(),Gi=0}}function c3(){var e=To.now(),n=e-Ku;n>hw&&(dc-=n,Ku=e)}function f3(){for(var e,n=Zu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Zu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Yx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Ku=To.now(),io=setInterval(c3,hw)),Kl=1,pw(Yx))}}function Gx(e,n,i){var l=new Ju;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var d3=cc("start","end","cancel","interrupt"),h3=[],gw=0,$x=1,Ep=2,qu=3,Xx=4,Np=5,Uu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;p3(e,i,{name:n,index:l,group:o,on:d3,tween:h3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:gw})}function Jp(e,n){var i=Yn(e,n);if(i.state>gw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>qu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function p3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=mw(s,0,i.time);function s(h){i.state=$x,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==$x)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===qu)return Gx(u);v.state===Xx?(v.state=Uu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function G3(e,n,i){var l,o,s=Y3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function $3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(G3(i,e,n))}function X3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function P3(){return this.on("end.remove",X3(this._id))}function F3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function vT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);bw.prototype=Cr.prototype;function bw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function bT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function wT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Px(){return this.__zoom||pc}function ST(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _T(){return navigator.maxTouchPoints||"ontouchstart"in this}function ET(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function ww(){var e=bT,n=wT,i=ET,l=ST,o=_T,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Bu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Px).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Px),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new vT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Iu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;iw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Iu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),lw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Iu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sw=["Enter"," ","Escape"],_w={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Ew={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Wu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wu||(Wu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Nw(e){return e===null?null:e?"valid":"invalid"}const kw=e=>"id"in e&&"source"in e&&"target"in e,NT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Io=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},kT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?ec(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Vo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,ec(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Go(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},CT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function TT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function zT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=TT(e,u),d=Vo(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Cw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function AT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=CT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Tw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Qx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,zw=(e,n,i=15,l=40)=>{const o=Qx(e.x,l,n.width-l)*i,s=Qx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},ec=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Aw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Zx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),MT=(e,n)=>{},Yo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Go=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Yo(f,u):f},tc=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function jT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function OT(e,n,i,l,o,s){const{x:u,y:f}=tc(e,[n,i,l]),{x:d,y:h}=tc({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=jT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=OT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Mw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Kx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function DT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function RT(e){return{..._w,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Go({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Yo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ow=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},LT=["INPUT","SELECT","TEXTAREA"];function Dw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:LT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Rw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Rw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Jx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Lw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Tu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Wx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Tu(n-l,s),i];case we.Right:return[n+Tu(l-n,s),i];case we.Top:return[n,i-Tu(i-o,s)];case we.Bottom:return[n,i+Tu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Wx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Wx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const qT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,UT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),IT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||qT;let o;return kw(e)?o={...e}:o={...e,id:l(e)},UT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Hw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const ev={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},VT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function YT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=ev[n],d=ev[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=VT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=Hw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function GT(e,n,i,l){const o=Math.min(tv(e,n)/2,tv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function XT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const qw=1e3,PT=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},FT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function QT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Io(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function ZT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(FT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?qw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Io(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:ZT(p,y),z:Uw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function KT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}KT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*PT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?qw:0,{x:y,y:v,z:w}=JT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Uw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function JT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Io(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Tw(p,d,n));const y=Uw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Aw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function ez({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function lv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Iw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;lv("source",d,m,e,o,u),lv("target",d,h,e,s,f),n.set(l.id,l)}}function Vw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vw(i,n):!1}function av(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function tz(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Vw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function nz({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Yo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function rz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Vo(f)):null,K=Y&&$?nz({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Yo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Cw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=zw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=tz(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=aw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!av(ee,`.${z}`,T))&&(!_||av(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function iz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const lz=250;function az(e,n,i,l){var f,d;let o=[],s=1/0;const u=iz(e,i,n+lz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Yw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Gw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function oz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const $w=()=>!0;function sz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=$w,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Ow(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Gw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Yw(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=zw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Fx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=az(Go(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Xw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=oz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?tc({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Fx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Xw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=$w,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Gw(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=Yw(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:sz,isValid:Xw};function uz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=ww().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),cz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=cz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Fw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function fz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Fw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function dz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function hz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function pz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function mz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function gz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function yz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=ww().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Fw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?fz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):dz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=hz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=pz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=mz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=gz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?bw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function xz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function ov(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function zu(e,n,i){return Math.max(0,n-e,e-i)}function sv(e,n){return e?!n:n}function vz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=zu(X,k,S),G=zu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=zu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=zu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(sv(d,h)?-M:M)/q:M=(sv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Qw={width:0,height:0,x:0,y:0},bz={...Qw,pointerX:0,pointerY:0,aspectRatio:1};function wz(e){return[[0,0],[e.measured.width,e.measured.height]]}function Sz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function _z({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:ov("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Qw},z={...bz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:ov(h)};let _,T=null,B=[],A,q,M,R=!1;const X=aw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?wz(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=Sz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=vz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** * @license React * use-sync-external-store-shim.production.js * @@ -264,7 +272,7 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var uv;function Sz(){if(uv)return ih;uv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var cv;function _z(){return cv||(cv=1,rh.exports=Sz()),rh.exports}/** + */var uv;function Ez(){if(uv)return ih;uv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var cv;function Nz(){return cv||(cv=1,rh.exports=Ez()),rh.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -272,26 +280,26 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var fv;function Ez(){if(fv)return nh;fv=1;var e=Lo(),n=_z();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var dv;function Nz(){return dv||(dv=1,th.exports=Ez()),th.exports}var kz=Nz();const Cz=Ro(kz),Tz={},hv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Tz?"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()}},h=n=e(l,o,d);return d},zz=e=>e?hv(e):hv,{useDebugValue:Az}=ql,{useSyncExternalStoreWithSelector:Mz}=Cz,jz=e=>e;function Zw(e,n=jz,i){const l=Mz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Az(l),l}const pv=(e,n)=>{const i=zz(e),l=(o,s=n)=>Zw(i,o,s);return Object.assign(l,i),l},Oz=(e,n)=>e?pv(e,n):pv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Dz=wb();const xc=V.createContext(null),Rz=xc.Provider,Kw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Kw);return Zw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Kw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mv={display:"none"},Lz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Jw="react-flow__node-desc",Ww="react-flow__edge-desc",Hz="react-flow__aria-live",Bz=e=>e.ariaLiveMessage,qz=e=>e.ariaLabelConfig;function Uz({rfId:e}){const n=Ie(Bz);return b.jsx("div",{id:`${Hz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Lz,children:n})}function Iz({rfId:e,disableKeyboardA11y:n}){const i=Ie(qz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Jw}-${e}`,style:mv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${Ww}-${e}`,style:mv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Uz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Vz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},zu=e=>e.id;function Gz(e,n){return dt(e.selectedNodes.map(zu),n.selectedNodes.map(zu))&&dt(e.selectedEdges.map(zu),n.selectedEdges.map(zu))}function $z({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Yz,Gz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Xz=e=>!!e.onSelectionChangeHandlers;function Pz({onSelectionChange:e}){const n=Ie(Xz);return e||n?b.jsx($z,{onSelectionChange:e}):null}const eS=[0,0],Fz={x:0,y:0,zoom:1},Qz=["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"],gv=[...Qz,"rfId"],Zz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),yv={translateExtent:zo,nodeOrigin:eS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Kz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Zz,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=yv,f()}),[]);const m=V.useRef(yv);return V.useEffect(()=>{for(const p of gv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:OT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},gv.map(p=>e[p])),null}function xv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Jz(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=xv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=xv())!=null&&l.matches?"dark":"light"}const vv=typeof document<"u"?document:null;function Oo(e=null,n={target:vv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` + */var fv;function kz(){if(fv)return nh;fv=1;var e=Lo(),n=Nz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var dv;function Cz(){return dv||(dv=1,th.exports=kz()),th.exports}var Tz=Cz();const zz=Ro(Tz),Az={},hv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Az?"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()}},h=n=e(l,o,d);return d},Mz=e=>e?hv(e):hv,{useDebugValue:jz}=ql,{useSyncExternalStoreWithSelector:Oz}=zz,Dz=e=>e;function Zw(e,n=Dz,i){const l=Oz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return jz(l),l}const pv=(e,n)=>{const i=Mz(e),l=(o,s=n)=>Zw(i,o,s);return Object.assign(l,i),l},Rz=(e,n)=>e?pv(e,n):pv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Lz=wb();const xc=V.createContext(null),Hz=xc.Provider,Kw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Kw);return Zw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Kw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mv={display:"none"},Bz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Jw="react-flow__node-desc",Ww="react-flow__edge-desc",qz="react-flow__aria-live",Uz=e=>e.ariaLiveMessage,Iz=e=>e.ariaLabelConfig;function Vz({rfId:e}){const n=Ie(Uz);return b.jsx("div",{id:`${qz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Bz,children:n})}function Yz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Iz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Jw}-${e}`,style:mv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${Ww}-${e}`,style:mv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Vz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Gz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const $z=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Au=e=>e.id;function Xz(e,n){return dt(e.selectedNodes.map(Au),n.selectedNodes.map(Au))&&dt(e.selectedEdges.map(Au),n.selectedEdges.map(Au))}function Pz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie($z,Xz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Fz=e=>!!e.onSelectionChangeHandlers;function Qz({onSelectionChange:e}){const n=Ie(Fz);return e||n?b.jsx(Pz,{onSelectionChange:e}):null}const eS=[0,0],Zz={x:0,y:0,zoom:1},Kz=["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"],gv=[...Kz,"rfId"],Jz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),yv={translateExtent:zo,nodeOrigin:eS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Wz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Jz,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=yv,f()}),[]);const m=V.useRef(yv);return V.useEffect(()=>{for(const p of gv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:RT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},gv.map(p=>e[p])),null}function xv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function eA(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=xv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=xv())!=null&&l.matches?"dark":"light"}const vv=typeof document<"u"?document:null;function Oo(e=null,n={target:vv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` `).replace(` `,` +`).split(` -`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??vv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Dw(v))return!1;const k=wv(v.code,f);if(s.current.add(v[k]),bv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=wv(v.code,f);bv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function bv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function wv(e,n){return n.includes(e)?"code":"key"}const Wz=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=ec(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function tS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)eA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function eA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function nS(e,n){return tS(e,n)}function rS(e,n){return tS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Sv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function _v(e){return{id:e.id,type:"remove"}}const Ev=e=>_T(e),tA=e=>kw(e);function iS(e){return V.forwardRef(e)}const nA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Nv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>rA(()=>i(o=>o+BigInt(1))));return nA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function rA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const lS=V.createContext(null);function iA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Sv({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Nv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Sv({items:v,lookup:y}))},[]),s=Nv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(lS.Provider,{value:u,children:e})}function lA(){const e=V.useContext(lS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const aA=e=>!!e.panZoom;function Go(){const e=Wz(),n=ht(),i=lA(),l=Ie(aA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Ev(p)?p:y.get(p.id),k=w.parentId?jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Ev(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&tA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await TT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(_v);S==null||S(A),z(R)}if(M){const R=B.map(_v);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Zx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),T=Mo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Zx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return ET(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??jT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const kv=e=>e.selected,oA=typeof window<"u"?window:void 0;function sA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:oA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(kv),edges:u.filter(kv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function uA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},cA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function fA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(cA,dt),X=Oo(y),H=V.useRef();uA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=mz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const dA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function hA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(dA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},pA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function mA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(pA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Kx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Kx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(hA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function aS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=tz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const gA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function oS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=gA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:T}=Cw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),yA=cm.Provider;cm.Consumer;const sS=()=>V.useContext(cm),xA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),vA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function bA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=sS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(xA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(vA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(qT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Rw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ow($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(iS(bA));function wA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function SA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function _A(){return null}function EA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const tc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Cv={input:wA,default:SA,output:EA,group:_A};function NA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const kA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function CA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(kA,dt),d=oS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(aS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(tc,v.key)&&(v.preventDefault(),d({direction:tc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Tv=typeof window<"u"?window:void 0,TA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(TA,dt),P=Oo(h,{target:Tv}),N=Oo(k,{target:Tv}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return sA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(fA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(mA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(CA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}uS.displayName="FlowRenderer";const zA=V.memo(uS),AA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function MA(e){return Ie(V.useCallback(AA(e),[e]),dt)}const jA=e=>e.updateNodeInternals;function OA(){const e=Ie(jA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function DA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function RA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||Cv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||Cv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Mw(_),L=DA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=aS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=oS();if(_.hidden)return null;const $=Ar(_),Z=NA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Dw(re.nativeEvent)||w)){if(Sw.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(tc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:tc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Jw}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(yA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var LA=V.memo(RA);const HA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function cS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(HA,dt),u=MA(e.onlyRenderVisibleElements),f=OA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(LA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}cS.displayName="NodeRenderer";const BA=V.memo(cS);function qA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&<({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const UA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},IA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zv={[Ju.Arrow]:UA,[Ju.ArrowClosed]:IA};function VA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(zv,e)?zv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const YA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=VA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},fS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>GT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(YA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};fS.displayName="MarkerDefinitions";var GA=V.memo(fS);function dS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}dS.displayName="EdgeText";const $A=V.memo(dS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx($A,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Av({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function hS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Av({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Av({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function pS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=hS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const XA=pS({isInternal:!1}),mS=pS({isInternal:!0});XA.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx($o,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const yS=gS({isInternal:!1}),xS=gS({isInternal:!0});yS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function vS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(yS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const PA=vS({isInternal:!1}),bS=vS({isInternal:!0});PA.displayName="StepEdge";bS.displayName="StepEdgeInternal";function wS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Bw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const FA=wS({isInternal:!1}),SS=wS({isInternal:!0});FA.displayName="StraightEdge";SS.displayName="StraightEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx($o,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const QA=_S({isInternal:!1}),ES=_S({isInternal:!0});QA.displayName="BezierEdge";ES.displayName="BezierEdgeInternal";const Mv={default:ES,straight:SS,step:bS,smoothstep:xS,simplebezier:mS},jv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ZA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,KA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Ov="react-flow__edgeupdater";function Dv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Ov,`${Ov}-${f}`]),cx:ZA(n,l,e),cy:KA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function JA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Dv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Dv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function WA({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||Mv[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||Mv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...jv};const Me=YT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:RT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||jv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Sw.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${Ww}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(JA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var eM=V.memo(WA);const tM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function NS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(tM,dt),T=qA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(GA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(eM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}NS.displayName="EdgeRenderer";const nM=V.memo(NS),rM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iM({children:e}){const n=Ie(rM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function lM(e){const n=Go(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const aM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function oM(e){const n=Ie(aM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function sM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function uM(e){return sM}function cM(e){const n=uM();return Ie(n,dt)}const fM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function dM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(fM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Nw(f)]),children:b.jsx(kS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const kS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=cM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Nw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=hS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Bw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};kS.displayName="ConnectionLine";const hM={};function Rv(e=hM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function pM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function CS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Rv(e),Rv(n),pM(),lM(i),oM(ue),b.jsx(zA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(iM,{children:[b.jsx(nM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(dM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(BA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}CS.displayName="GraphView";const mM=V.memo(CS),Lv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??zo;Iw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Ew},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:zT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:_w,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},gM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Oz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await CT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Lv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Iw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=KT(S,z,_,T,B,A,R);H&&(PT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=nS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=rS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Vl(z,new Set([...S]))),T(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return JT({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Ew}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Lv()})}},Object.is);function yM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>gM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Rz,{value:w,children:b.jsx(iA,{children:v})})}function xM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(yM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const vM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function bM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=eS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=Fz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Fo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Cc,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:is,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:On,height:Pt,colorMode:ls="light",debug:Ac,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",os=Jz(ls),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,...vM},ref:Ft,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(xM,{nodes:e,edges:n,width:On,height:Pt,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(mM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Kz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:as,zIndexMode:gi}),b.jsx(Pz,{onSelectionChange:ee}),Fo,b.jsx(Vz,{proOptions:mi,position:ts}),b.jsx(Iz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var wM=iS(bM);const SM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function _M({children:e}){const n=Ie(SM);return n?Dz.createPortal(e,n):null}function EM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>nS(o,s)),[]);return[n,i,l]}function NM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function kM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function CM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const TM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},zM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(zM,dt),w=l||TM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(CM,{radius:_/2,className:m}):b.jsx(kM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}TS.displayName="Background";const AM=V.memo(TS);function MM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 DM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Au({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const LM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function zS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(LM,dt),{zoomIn:_,zoomOut:T,fitView:B}=Go(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Au,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(MM,{})}),b.jsx(Au,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(jM,{})})]}),i&&b.jsx(Au,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(OM,{})}),l&&b.jsx(Au,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(RM,{}):b.jsx(DM,{})}),m]})}zS.displayName="Controls";const HM=V.memo(zS);function BM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const qM=V.memo(BM),UM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function IM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=qM,onClick:u}){const f=Ie(UM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(YM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function VM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!Mw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const YM=V.memo(VM);var GM=V.memo(IM);const $M=200,XM=150,PM=e=>!e.hidden,FM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Aw(Io(e.nodeLookup,{filter:PM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},QM="react-flow__minimap-desc";function AS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(FM,dt),G=(e==null?void 0:e.width)??$M,D=(e==null?void 0:e.height)??XM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${QM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=oz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(GM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AS.displayName="MiniMap";const ZM=V.memo(AS),KM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,JM={[na.Line]:"right",[na.Handle]:"bottom-right"};function WM({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=sS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===na.Handle,q=Ie(V.useCallback(KM(A&&v),[A,v]),dt),M=V.useRef(null),R=n??JM[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=wz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...jw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(WM);var oh,Hv;function fm(){if(Hv)return oh;Hv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Bv;function e4(){return Bv||(Bv=1,sh="2.2.4"),sh}var uh,qv;function t4(){return qv||(qv=1,uh={Graph:fm(),version:e4()}),uh}var ch,Uv;function n4(){if(Uv)return ch;Uv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Iv;function r4(){if(Iv)return fh;Iv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Vv;function MS(){if(Vv)return dh;Vv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Gv;function i4(){if(Gv)return ph;Gv=1;var e=jS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,$v;function OS(){if($v)return mh;$v=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Xv;function l4(){if(Xv)return gh;Xv=1;var e=OS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Pv;function a4(){if(Pv)return yh;Pv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Kv;function s4(){if(Kv)return wh;Kv=1;var e=RS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Jv;function u4(){if(Jv)return Sh;Jv=1;var e=RS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,Wv;function c4(){if(Wv)return _h;Wv=1;var e=fm(),n=MS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,e1;function f4(){return e1||(e1=1,Eh={components:r4(),dijkstra:jS(),dijkstraAll:i4(),findCycles:l4(),floydWarshall:a4(),isAcyclic:o4(),postorder:s4(),preorder:u4(),prim:c4(),tarjan:OS(),topsort:DS()}),Eh}var Nh,t1;function Vn(){if(t1)return Nh;t1=1;var e=t4();return Nh={Graph:e.Graph,json:n4(),alg:f4(),version:e.version},Nh}var kh,n1;function d4(){if(n1)return kh;n1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,r1;function h4(){if(r1)return Ch;r1=1;let e=Vn().Graph,n=d4();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,l1;function p4(){if(l1)return zh;l1=1;let e=h4(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,a1;function m4(){if(a1)return Ah;a1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,o1;function nc(){if(o1)return Mh;o1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,s1;function LS(){if(s1)return jh;s1=1;var e=Vn().Graph,n=nc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,u1;function g4(){if(u1)return Oh;u1=1;var e=LS(),n=nc().slack,i=nc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,c1;function y4(){if(c1)return Dh;c1=1;var e=nc(),n=e.longestPath,i=LS(),l=g4();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,f1;function x4(){if(f1)return Rh;f1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,d1;function v4(){if(d1)return Lh;d1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,h1;function b4(){if(h1)return Hh;h1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,m1;function S4(){if(m1)return qh;m1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,g1;function _4(){if(g1)return Uh;g1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,y1;function E4(){if(y1)return Ih;y1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,x1;function N4(){if(x1)return Vh;x1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,v1;function k4(){if(v1)return Yh;v1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,b1;function C4(){if(b1)return Gh;b1=1;let e=E4(),n=N4(),i=k4();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,w1;function T4(){if(w1)return $h;w1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,S1;function z4(){if(S1)return Xh;S1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,_1;function A4(){if(_1)return Ph;_1=1;let e=S4(),n=_4(),i=C4(),l=T4(),o=z4(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,E1;function M4(){if(E1)return Fh;E1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,N1;function j4(){if(N1)return Qh;N1=1;let e=Ct(),n=M4().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,k1;function O4(){if(k1)return Zh;k1=1;let e=p4(),n=m4(),i=y4(),l=Ct().normalizeRanks,o=x4(),s=Ct().removeEmptyRanks,u=v4(),f=b4(),d=w4(),h=A4(),m=j4(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,C1;function D4(){if(C1)return Kh;C1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,T1;function R4(){return T1||(T1=1,Jh="1.1.8"),Jh}var Wh,z1;function L4(){return z1||(z1=1,Wh={graphlib:Vn(),layout:O4(),debug:D4(),util:{time:Ct().time,notime:Ct().notime},version:R4()}),Wh}var H4=L4();const A1=Ro(H4),go=200,Yl=56,M1=20,j1=40,B4=20,O1=12;function q4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+M1*2,E=j1+k*Yl+(k-1)*O1+B4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return U4(f,d),{nodes:f,edges:d}}function U4(e,n){var l,o,s,u;const i=new A1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);A1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const I4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=V4(i,u),z=Y4(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Ql(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(I2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function V4(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Y4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const G4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=$4(i,u),v=X4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function $4(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function X4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const P4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=F4(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function F4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Q4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Q2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=Z4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Z4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const K4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Nb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),J4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),W4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(_M,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function ej(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function tj(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Cb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(Y2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(lc,{className:"w-3.5 h-3.5"})})]})})}const nj={agentNode:I4,scriptNode:G4,gateNode:P4,groupNode:Q4,endNode:K4,startNode:J4},rj={animatedEdge:W4},ij={type:"animatedEdge"};function lj(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function aj(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=EM([]),[k,S,E]=NM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=q4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(lj,{}),b.jsx(ej,{}),b.jsx(tj,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(wM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:nj,edgeTypes:rj,defaultEdgeOptions:ij,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(AM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(ZM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(HM,{showInteractive:!1,children:b.jsx(oj,{})}),b.jsx(sj,{})]})]})}function oj(){const{fitView:e}=Go(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(K2,{className:"w-3.5 h-3.5"})})}function sj(){const{fitView:e}=Go();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function HS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=kb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(uj,{text:d}):d})]})}function uj({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(cj,{entry:s},u))})]})}function cj({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function fj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:HS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:dj(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:HS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function dj(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function hj({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` +`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??vv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Dw(v))return!1;const k=wv(v.code,f);if(s.current.add(v[k]),bv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=wv(v.code,f);bv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function bv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function wv(e,n){return n.includes(e)?"code":"key"}const tA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Go(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=tc(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function tS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)nA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function nA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function nS(e,n){return tS(e,n)}function rS(e,n){return tS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Sv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function _v(e){return{id:e.id,type:"remove"}}const Ev=e=>NT(e),rA=e=>kw(e);function iS(e){return V.forwardRef(e)}const iA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Nv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>lA(()=>i(o=>o+BigInt(1))));return iA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function lA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const lS=V.createContext(null);function aA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Sv({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Nv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Sv({items:v,lookup:y}))},[]),s=Nv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(lS.Provider,{value:u,children:e})}function oA(){const e=V.useContext(lS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const sA=e=>!!e.panZoom;function $o(){const e=tA(),n=ht(),i=oA(),l=Ie(sA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Ev(p)?p:y.get(p.id),k=w.parentId?jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Ev(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&rA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await AT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(_v);S==null||S(A),z(R)}if(M){const R=B.map(_v);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Zx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),T=Mo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Zx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return kT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??DT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const kv=e=>e.selected,uA=typeof window<"u"?window:void 0;function cA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=$o(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:uA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(kv),edges:u.filter(kv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function fA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},dA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function hA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(dA,dt),X=Oo(y),H=V.useRef();fA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=yz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const pA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function mA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(pA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},gA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function yA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(gA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Kx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Kx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(mA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function aS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=rz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const xA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function oS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=xA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Yo(z,s));const{position:_,positionAbsolute:T}=Cw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),vA=cm.Provider;cm.Consumer;const sS=()=>V.useContext(cm),bA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),wA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function SA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=sS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(bA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(wA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(IT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Rw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ow($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(iS(SA));function _A({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function EA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function NA(){return null}function kA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const nc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Cv={input:_A,default:EA,output:kA,group:NA};function CA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const TA=e=>{const{width:n,height:i,x:l,y:o}=Vo(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function zA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(TA,dt),d=oS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(aS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(nc,v.key)&&(v.preventDefault(),d({direction:nc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Tv=typeof window<"u"?window:void 0,AA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(AA,dt),P=Oo(h,{target:Tv}),N=Oo(k,{target:Tv}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return cA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(hA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(yA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(zA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}uS.displayName="FlowRenderer";const MA=V.memo(uS),jA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function OA(e){return Ie(V.useCallback(jA(e),[e]),dt)}const DA=e=>e.updateNodeInternals;function RA(){const e=Ie(DA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function LA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function HA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||Cv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||Cv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Mw(_),L=LA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=aS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=oS();if(_.hidden)return null;const $=Ar(_),Z=CA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Dw(re.nativeEvent)||w)){if(Sw.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(nc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:nc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Jw}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(vA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var BA=V.memo(HA);const qA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function cS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(qA,dt),u=OA(e.onlyRenderVisibleElements),f=RA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(BA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}cS.displayName="NodeRenderer";const UA=V.memo(cS);function IA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&BT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const VA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},YA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zv={[Wu.Arrow]:VA,[Wu.ArrowClosed]:YA};function GA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(zv,e)?zv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const $A=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=GA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},fS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>XT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx($A,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};fS.displayName="MarkerDefinitions";var XA=V.memo(fS);function dS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}dS.displayName="EdgeText";const PA=V.memo(dS);function Xo({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx(PA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Av({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function hS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Av({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Av({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Lw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function pS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=hS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(Xo,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const FA=pS({isInternal:!1}),mS=pS({isInternal:!0});FA.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const yS=gS({isInternal:!1}),xS=gS({isInternal:!0});yS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function vS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(yS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const QA=vS({isInternal:!1}),bS=vS({isInternal:!0});QA.displayName="StepEdge";bS.displayName="StepEdgeInternal";function wS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Bw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx(Xo,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const ZA=wS({isInternal:!1}),SS=wS({isInternal:!0});ZA.displayName="StraightEdge";SS.displayName="StraightEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const KA=_S({isInternal:!1}),ES=_S({isInternal:!0});KA.displayName="BezierEdge";ES.displayName="BezierEdgeInternal";const Mv={default:ES,straight:SS,step:bS,smoothstep:xS,simplebezier:mS},jv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},JA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,WA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Ov="react-flow__edgeupdater";function Dv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Ov,`${Ov}-${f}`]),cx:JA(n,l,e),cy:WA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function eM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Dv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Dv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function tM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||Mv[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||Mv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...jv};const Me=$T({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:HT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||jv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Sw.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${Ww}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(eM,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var nM=V.memo(tM);const rM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function NS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(rM,dt),T=IA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(XA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(nM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}NS.displayName="EdgeRenderer";const iM=V.memo(NS),lM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function aM({children:e}){const n=Ie(lM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function oM(e){const n=$o(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const sM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function uM(e){const n=Ie(sM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function cM(e){return e.connection.inProgress?{...e.connection,to:Go(e.connection.to,e.transform)}:{...e.connection}}function fM(e){return cM}function dM(e){const n=fM();return Ie(n,dt)}const hM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function pM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(hM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Nw(f)]),children:b.jsx(kS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const kS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=dM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Nw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=hS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Bw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};kS.displayName="ConnectionLine";const mM={};function Rv(e=mM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function gM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function CS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Rv(e),Rv(n),gM(),oM(i),uM(ue),b.jsx(MA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(aM,{children:[b.jsx(iM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(pM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(UA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}CS.displayName="GraphView";const yM=V.memo(CS),Lv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??zo;Iw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Vo(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Ew},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:MT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:_w,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},xM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Rz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await zT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Lv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Iw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=WT(S,z,_,T,B,A,R);H&&(QT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=nS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=rS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Vl(z,new Set([...S]))),T(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return ez({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Ew}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Lv()})}},Object.is);function vM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>xM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Hz,{value:w,children:b.jsx(aA,{children:v})})}function bM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(vM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const wM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function SM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=eS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=Zz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Qo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Wo=10,onNodesChange:es,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:ts,connectOnClick:Cc,attributionPosition:ns,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,connectionRadius:is,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:ls,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:On,height:Pt,colorMode:as="light",debug:Ac,onScroll:Hr,ariaLabelConfig:os,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",ss=eA(as),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,...wM},ref:Ft,className:Tt(["react-flow",o,ss]),id:fa,role:"application",children:b.jsxs(bM,{nodes:e,edges:n,width:On,height:Pt,fitView:Wi,fitViewOptions:ts,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(yM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Wo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Wz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:es,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:ts,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,onError:Lr,connectionRadius:is,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:ls,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:os,zIndexMode:gi}),b.jsx(Qz,{onSelectionChange:ee}),Qo,b.jsx(Gz,{proOptions:mi,position:ns}),b.jsx(Yz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var _M=iS(SM);const EM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function NM({children:e}){const n=Ie(EM);return n?Lz.createPortal(e,n):null}function kM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>nS(o,s)),[]);return[n,i,l]}function CM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function TM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function zM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const AM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},MM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(MM,dt),w=l||AM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(zM,{radius:_/2,className:m}):b.jsx(TM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}TS.displayName="Background";const jM=V.memo(TS);function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function DM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 LM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 HM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Mu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const BM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function zS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(BM,dt),{zoomIn:_,zoomOut:T,fitView:B}=$o(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Mu,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(OM,{})}),b.jsx(Mu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(DM,{})})]}),i&&b.jsx(Mu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(RM,{})}),l&&b.jsx(Mu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(HM,{}):b.jsx(LM,{})}),m]})}zS.displayName="Controls";const qM=V.memo(zS);function UM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const IM=V.memo(UM),VM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function YM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=IM,onClick:u}){const f=Ie(VM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx($M,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function GM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!Mw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const $M=V.memo(GM);var XM=V.memo(YM);const PM=200,FM=150,QM=e=>!e.hidden,ZM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Aw(Vo(e.nodeLookup,{filter:QM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},KM="react-flow__minimap-desc";function AS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(ZM,dt),G=(e==null?void 0:e.width)??PM,D=(e==null?void 0:e.height)??FM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${KM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=uz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(XM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AS.displayName="MiniMap";const JM=V.memo(AS),WM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,ej={[na.Line]:"right",[na.Handle]:"bottom-right"};function tj({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=sS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===na.Handle,q=Ie(V.useCallback(WM(A&&v),[A,v]),dt),M=V.useRef(null),R=n??ej[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=_z({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...jw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(tj);var oh,Hv;function fm(){if(Hv)return oh;Hv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Bv;function nj(){return Bv||(Bv=1,sh="2.2.4"),sh}var uh,qv;function rj(){return qv||(qv=1,uh={Graph:fm(),version:nj()}),uh}var ch,Uv;function ij(){if(Uv)return ch;Uv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Iv;function lj(){if(Iv)return fh;Iv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Vv;function MS(){if(Vv)return dh;Vv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Gv;function aj(){if(Gv)return ph;Gv=1;var e=jS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,$v;function OS(){if($v)return mh;$v=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Xv;function oj(){if(Xv)return gh;Xv=1;var e=OS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Pv;function sj(){if(Pv)return yh;Pv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Kv;function cj(){if(Kv)return wh;Kv=1;var e=RS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Jv;function fj(){if(Jv)return Sh;Jv=1;var e=RS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,Wv;function dj(){if(Wv)return _h;Wv=1;var e=fm(),n=MS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,e1;function hj(){return e1||(e1=1,Eh={components:lj(),dijkstra:jS(),dijkstraAll:aj(),findCycles:oj(),floydWarshall:sj(),isAcyclic:uj(),postorder:cj(),preorder:fj(),prim:dj(),tarjan:OS(),topsort:DS()}),Eh}var Nh,t1;function Vn(){if(t1)return Nh;t1=1;var e=rj();return Nh={Graph:e.Graph,json:ij(),alg:hj(),version:e.version},Nh}var kh,n1;function pj(){if(n1)return kh;n1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,r1;function mj(){if(r1)return Ch;r1=1;let e=Vn().Graph,n=pj();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,l1;function gj(){if(l1)return zh;l1=1;let e=mj(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,a1;function yj(){if(a1)return Ah;a1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,o1;function rc(){if(o1)return Mh;o1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,s1;function LS(){if(s1)return jh;s1=1;var e=Vn().Graph,n=rc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,u1;function xj(){if(u1)return Oh;u1=1;var e=LS(),n=rc().slack,i=rc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,c1;function vj(){if(c1)return Dh;c1=1;var e=rc(),n=e.longestPath,i=LS(),l=xj();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,f1;function bj(){if(f1)return Rh;f1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,d1;function wj(){if(d1)return Lh;d1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,h1;function Sj(){if(h1)return Hh;h1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,m1;function Ej(){if(m1)return qh;m1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,g1;function Nj(){if(g1)return Uh;g1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,y1;function kj(){if(y1)return Ih;y1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,x1;function Cj(){if(x1)return Vh;x1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,v1;function Tj(){if(v1)return Yh;v1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,b1;function zj(){if(b1)return Gh;b1=1;let e=kj(),n=Cj(),i=Tj();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,w1;function Aj(){if(w1)return $h;w1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,S1;function Mj(){if(S1)return Xh;S1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,_1;function jj(){if(_1)return Ph;_1=1;let e=Ej(),n=Nj(),i=zj(),l=Aj(),o=Mj(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,E1;function Oj(){if(E1)return Fh;E1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,N1;function Dj(){if(N1)return Qh;N1=1;let e=Ct(),n=Oj().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,k1;function Rj(){if(k1)return Zh;k1=1;let e=gj(),n=yj(),i=vj(),l=Ct().normalizeRanks,o=bj(),s=Ct().removeEmptyRanks,u=wj(),f=Sj(),d=_j(),h=jj(),m=Dj(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,C1;function Lj(){if(C1)return Kh;C1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,T1;function Hj(){return T1||(T1=1,Jh="1.1.8"),Jh}var Wh,z1;function Bj(){return z1||(z1=1,Wh={graphlib:Vn(),layout:Rj(),debug:Lj(),util:{time:Ct().time,notime:Ct().notime},version:Hj()}),Wh}var qj=Bj();const A1=Ro(qj),go=200,Yl=56,M1=20,j1=40,Uj=20,O1=12;function Ij(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+M1*2,E=j1+k*Yl+(k-1)*O1+Uj;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return Vj(f,d),{nodes:f,edges:d}}function Vj(e,n){var l,o,s,u;const i=new A1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);A1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const Yj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=Gj(i,u),z=$j(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Ql(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(I2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Gj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function $j(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Xj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=Pj(i,u),v=Fj(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(iN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Pj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Fj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Qj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=Zj(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Zj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Kj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?eN:Z2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=Jj(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Jj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Wj=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Nb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),e4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),t4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(Xo,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(NM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function n4(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(lN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function r4(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Cb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(Y2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(Bo,{className:"w-3.5 h-3.5"})})]})})}const i4={agentNode:Yj,scriptNode:Xj,gateNode:Qj,groupNode:Kj,endNode:Wj,startNode:e4},l4={animatedEdge:t4},a4={type:"animatedEdge"};function o4(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function s4(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=kM([]),[k,S,E]=CM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=Ij(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(o4,{}),b.jsx(n4,{}),b.jsx(r4,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(sN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(_M,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:i4,edgeTypes:l4,defaultEdgeOptions:a4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(jM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(JM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(qM,{showInteractive:!1,children:b.jsx(u4,{})}),b.jsx(c4,{})]})]})}function u4(){const{fitView:e}=$o(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(J2,{className:"w-3.5 h-3.5"})})}function c4(){const{fitView:e}=$o();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function HS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=kb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(f4,{text:d}):d})]})}function f4({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(d4,{entry:s},u))})]})}function d4({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function h4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:HS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:p4(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:HS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function p4(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function m4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` --- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Pi,{output:o,title:"Output"})]})}function pj(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const mj=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,gj=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,yj={};function R1(e,n){return(yj.jsx?gj:mj).test(e)}const xj=/[ \t\n\f\r]/g;function vj(e){return typeof e=="object"?e.type==="text"?L1(e.value):!1:L1(e)}function L1(e){return e.replace(xj,"")===""}class Xo{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function BS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Xo(i,l,n)}function jp(e){return e.toLowerCase()}class on{constructor(n,i){this.attribute=i,this.property=n}}on.prototype.attribute="";on.prototype.booleanish=!1;on.prototype.boolean=!1;on.prototype.commaOrSpaceSeparated=!1;on.prototype.commaSeparated=!1;on.prototype.defined=!1;on.prototype.mustUseProperty=!1;on.prototype.number=!1;on.prototype.overloadedBoolean=!1;on.prototype.property="";on.prototype.spaceSeparated=!1;on.prototype.space=void 0;let bj=0;const Oe=Fi(),kt=Fi(),Op=Fi(),me=Fi(),at=Fi(),Pl=Fi(),gn=Fi();function Fi(){return 2**++bj}const Dp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:gn,commaSeparated:Pl,number:me,overloadedBoolean:Op,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),ep=Object.keys(Dp);class pm extends on{constructor(n,i,l,o){let s=-1;if(super(n,i),H1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&Nj.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,Tj);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(Ej,Cj);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function Cj(e){return"-"+e.toLowerCase()}function Tj(e){return e.charAt(1).toUpperCase()}const zj=BS([qS,wj,VS,YS,GS],"html"),mm=BS([qS,Sj,VS,YS,GS],"svg");function Aj(e){return e.join(" ").trim()}var Ll={},tp,q1;function Mj(){if(q1)return tp;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var U1;function jj(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(Mj());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function Oj(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function Dj(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(jj()),i=Oj();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var Rj=Dj();const Lj=Ro(Rj),$S=XS("end"),gm=XS("start");function XS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Hj(e){const n=gm(e),i=$S(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,Bj=new Map,qj=/[A-Z]/g,Uj=new Set(["table","tbody","thead","tfoot","tr"]),Ij=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Vj(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Zj(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=Qj(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:zj,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=FS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function FS(e,n,i){if(n.type==="element")return Yj(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Gj(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return Xj(e,n,i);if(n.type==="mdxjsEsm")return $j(e,n);if(n.type==="root")return Pj(e,n,i);if(n.type==="text")return Fj(e,n)}function Yj(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=ZS(e,n.tagName,!1),u=Kj(e,n);let f=vm(e,n);return Uj.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!vj(d):!0})),QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Gj(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function $j(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function Xj(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:ZS(e,n.name,!0),u=Jj(e,n),f=vm(e,n);return QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Pj(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function Fj(e,n){return n.value}function QS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function Qj(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Zj(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Kj(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=Wj(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Ij.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function Jj(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:Bj;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const P1={}.hasOwnProperty;function o5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),c5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),f5=di(/[\dA-Fa-f]/),d5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Fe(e){return e===-2||e===-1||e===32}const h5=di(new RegExp("\\p{P}|\\p{S}","u")),p5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Fe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Fe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function v5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||p5(e))return 1;if(h5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};Z1(p,-d),Z1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Fe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(K1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Fe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Fe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function M5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:O5},j5={partial:!0,tokenize:D5};function O5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(j5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function D5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const R5={name:"codeText",previous:H5,resolve:L5,tokenize:B5};function L5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function r_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Fe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function l_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Fe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const X5={name:"definition",tokenize:F5},P5={partial:!0,tokenize:Q5};function F5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return i_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return r_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(P5,p,p)(v)}function p(v){return Fe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Q5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return l_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Fe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const Z5={name:"hardBreakEscape",tokenize:K5};function K5(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const J5={name:"headingAtx",resolve:W5,tokenize:eO};function W5(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function eO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Fe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const tO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],nO={concrete:!0,name:"htmlFlow",resolveTo:lO,tokenize:aO},rO={partial:!0,tokenize:sO},iO={partial:!0,tokenize:oO};function lO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function aO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&W1.includes(F)?(o=1,l.interrupt?n(N):I(N)):tO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Fe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Fe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Fe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Fe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Fe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Fe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(rO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(iO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return W1.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function oO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function sO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const uO={name:"htmlText",tokenize:cO};function cO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Fe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Fe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Fe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Fe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Fe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:pO,resolveTo:mO,tokenize:gO},fO={tokenize:yO},dO={tokenize:xO},hO={tokenize:vO};function pO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Fe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:zO},exit:MO,name:"list",tokenize:TO},kO={partial:!0,tokenize:jO},CO={partial:!0,tokenize:AO};function TO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Iu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(kO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Fe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function zO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Fe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(CO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function AO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function MO(e){e.exit(this.containerState.type)}function jO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Fe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:OO,tokenize:DO};function OO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function DO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Fe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const RO={tokenize:LO};function LO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(I5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const HO={resolveAll:o_()},BO=a_("string"),qO=a_("text");function a_(e){return{resolveAll:o_(e==="text"?UO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function WO(e,n){let i=-1;const l=[];let o;for(;++i4&&i.slice(0,4)==="data"&&C4.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,A4);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(k4,z4);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function z4(e){return"-"+e.toLowerCase()}function A4(e){return e.charAt(1).toUpperCase()}const M4=BS([qS,_4,VS,YS,GS],"html"),mm=BS([qS,E4,VS,YS,GS],"svg");function j4(e){return e.join(" ").trim()}var Ll={},tp,q1;function O4(){if(q1)return tp;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var U1;function D4(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(O4());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function R4(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function L4(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(D4()),i=R4();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var H4=L4();const B4=Ro(H4),$S=XS("end"),gm=XS("start");function XS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function q4(e){const n=gm(e),i=$S(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,U4=new Map,I4=/[A-Z]/g,V4=new Set(["table","tbody","thead","tfoot","tr"]),Y4=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function G4(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=J4(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=K4(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:M4,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=FS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function FS(e,n,i){if(n.type==="element")return $4(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return X4(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return F4(e,n,i);if(n.type==="mdxjsEsm")return P4(e,n);if(n.type==="root")return Q4(e,n,i);if(n.type==="text")return Z4(e,n)}function $4(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=ZS(e,n.tagName,!1),u=W4(e,n);let f=vm(e,n);return V4.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!w4(d):!0})),QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function X4(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function P4(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function F4(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:ZS(e,n.name,!0),u=e5(e,n),f=vm(e,n);return QS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Q4(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function Z4(e,n){return n.value}function QS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function K4(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function J4(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function W4(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=t5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Y4.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function e5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:U4;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const P1={}.hasOwnProperty;function u5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),d5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),h5=di(/[\dA-Fa-f]/),p5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const m5=di(new RegExp("\\p{P}|\\p{S}","u")),g5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function w5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||g5(e))return 1;if(m5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};Z1(p,-d),Z1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(K1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Qe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Qe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function O5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:R5},D5={partial:!0,tokenize:L5};function R5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(D5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function L5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const H5={name:"codeText",previous:q5,resolve:B5,tokenize:U5};function B5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function r_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function l_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const F5={name:"definition",tokenize:Z5},Q5={partial:!0,tokenize:K5};function Z5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return i_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return r_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(Q5,p,p)(v)}function p(v){return Qe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function K5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return l_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const J5={name:"hardBreakEscape",tokenize:W5};function W5(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const eO={name:"headingAtx",resolve:tO,tokenize:nO};function tO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function nO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Qe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const rO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],iO={concrete:!0,name:"htmlFlow",resolveTo:oO,tokenize:sO},lO={partial:!0,tokenize:cO},aO={partial:!0,tokenize:uO};function oO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function sO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&W1.includes(F)?(o=1,l.interrupt?n(N):I(N)):rO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Qe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Qe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Qe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Qe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Qe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Qe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(lO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(aO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return W1.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function uO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function cO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const fO={name:"htmlText",tokenize:dO};function dO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Qe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Qe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:gO,resolveTo:yO,tokenize:xO},hO={tokenize:vO},pO={tokenize:bO},mO={tokenize:wO};function gO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:MO},exit:OO,name:"list",tokenize:AO},TO={partial:!0,tokenize:DO},zO={partial:!0,tokenize:jO};function AO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Vu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(TO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function MO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(zO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function jO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function OO(e){e.exit(this.containerState.type)}function DO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:RO,tokenize:LO};function RO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function LO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const HO={tokenize:BO};function BO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Y5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const qO={resolveAll:o_()},UO=a_("string"),IO=a_("text");function a_(e){return{resolveAll:o_(e==="text"?VO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function tD(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function hD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function pD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function mD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function gD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function yD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function c_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function xD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function vD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function bD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function wD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function SD(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function _D(e,n,i){const l=e.all(n),o=i?ED(i):f_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function mD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function gD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function yD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function xD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function vD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function c_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function bD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function wD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function SD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function _D(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return c_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function ED(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function ND(e,n,i){const l=e.all(n),o=i?kD(i):f_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function ND(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=$S(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function AD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function OD(e,n){const i={type:"text",value:jD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function DD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const RD={blockquote:cD,break:fD,code:dD,delete:hD,emphasis:pD,footnoteReference:mD,heading:gD,html:yD,imageReference:xD,image:vD,inlineCode:bD,linkReference:wD,link:SD,listItem:_D,list:ND,paragraph:kD,root:CD,strong:TD,table:zD,tableCell:MD,tableRow:AD,text:OD,thematicBreak:DD,toml:Mu,yaml:Mu,definition:Mu,footnoteDefinition:Mu};function Mu(){}const d_=-1,Sc=0,wo=1,rc=2,_m=3,Em=4,Nm=5,km=6,h_=7,p_=8,ab=typeof self=="object"?self:globalThis,LD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case d_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case rc:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case h_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case p_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>LD(new Map,e)(0),Hl="",{toString:HD}={},{keys:BD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=HD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[rc,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[h_,i]:[rc,i]},ju=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),qD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=p_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([d_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case rc:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of BD(u))(e||!ju(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(ju(uo(y))||ju(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!ju(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return qD(!(n||i),!!n,new Map,l)(e),l},ic=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function UD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function ID(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function VD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||UD,l=e.options.footnoteBackLabel||ID,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...ic(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`});const h={type:"element",tagName:"li",properties:s,children:u};return e.patch(n,h),e.applyData(n,h)}function kD(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const i=e.children;let l=-1;for(;!n&&++l1}function CD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=$S(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function jD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function RD(e,n){const i={type:"text",value:DD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function LD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const HD={blockquote:dD,break:hD,code:pD,delete:mD,emphasis:gD,footnoteReference:yD,heading:xD,html:vD,imageReference:bD,image:wD,inlineCode:SD,linkReference:_D,link:ED,listItem:ND,list:CD,paragraph:TD,root:zD,strong:AD,table:MD,tableCell:OD,tableRow:jD,text:RD,thematicBreak:LD,toml:ju,yaml:ju,definition:ju,footnoteDefinition:ju};function ju(){}const d_=-1,Sc=0,wo=1,ic=2,_m=3,Em=4,Nm=5,km=6,h_=7,p_=8,ab=typeof self=="object"?self:globalThis,BD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case d_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ic:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case h_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case p_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>BD(new Map,e)(0),Hl="",{toString:qD}={},{keys:UD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=qD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[ic,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[h_,i]:[ic,i]},Ou=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),ID=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=p_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([d_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case ic:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of UD(u))(e||!Ou(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Ou(uo(y))||Ou(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!Ou(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return ID(!(n||i),!!n,new Map,l)(e),l},lc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function VD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function YD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function GD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||VD,l=e.options.footnoteBackLabel||YD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...lc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const m_=(function(e){if(e==null)return XD;if(typeof e=="function")return _c(e);if(typeof e=="object")return Array.isArray(e)?YD(e):GD(e);if(typeof e=="string")return $D(e);throw new Error("Expected function, string, or object as test")});function YD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=g_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=KD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==QD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k":""))+")"})}return y;function y(){let v=g_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=WD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==KD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` -`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=WD(e,n),l=i.one(e,void 0),o=VD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function iR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var lp,hb;function lR(){if(hb)return lp;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:uR,dirname:cR,extname:fR,join:dR,sep:"/"};function uR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Po(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function cR(e){if(Po(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function fR(e){Po(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function dR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function pR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Po(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const mR={cwd:gR};function gR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function yR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return xR(e)}function xR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const SR=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ou(e){return _R(e)?e:new x_(e)}function _R(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function ER(e){return typeof e=="string"||NR(e)}function NR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const kR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},CR=/^(https?|ircs?|mailto|xmpp)$/i,TR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function zR(e){const n=AR(e),i=MR(e);return jR(n.runSync(n.parse(i),i),e)}function AR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return SR().use(uD).use(i).use(iR,l).use(n)}function MR(e){const n=e.children||"",i=new x_;return typeof n=="string"&&(i.value=n),i}function jR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||OR;for(const m of TR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+kR+m.id,void 0);return y_(e,h),Vj(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function OR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||CR.test(e.slice(0,n))?e:""}function DR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(RR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(zR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function RR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function LR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(BR,{item:m},`${m.key}-${m.index}`))})]})]})}const HR={running:lt.running,completed:lt.completed,failed:lt.failed};function BR({item:e}){const[n,i]=V.useState(e.status==="running"),l=HR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function qR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return hj;case"human_gate":return DR;case"parallel_group":case"for_each_group":return LR;default:return fj}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(lc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Vu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function UR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(V2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(F2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(IR,{entries:n}):o==="log"?b.jsx(VR,{entries:e}):b.jsx(YR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function IR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Vu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(lc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=v_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Vu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Vu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function VR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=v_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Vu(s.message)})]},u)})})}function v_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function YR({output:e,status:n}){const[i,l]=V.useState(!1),o=kb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(GR,{text:o}):o})})]})}function GR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function $R(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(aj,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(qR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(UR,{})})]})}const XR=3e4;function PR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,XR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function FR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function QR(){return PR(),null}function ZR(){return FR(),null}function KR(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(ZR,{}):b.jsx(QR,{}),b.jsx(dN,{}),b.jsx($R,{}),i?b.jsx(gN,{}):b.jsx(hN,{})]})}H2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(KR,{})})); +`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=tR(e,n),l=i.one(e,void 0),o=GD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function aR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var lp,hb;function oR(){if(hb)return lp;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:fR,dirname:dR,extname:hR,join:pR,sep:"/"};function fR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function dR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function hR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function pR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function gR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const yR={cwd:xR};function xR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function vR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return bR(e)}function bR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const ER=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Du(e){return NR(e)?e:new x_(e)}function NR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function kR(e){return typeof e=="string"||CR(e)}function CR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const TR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},zR=/^(https?|ircs?|mailto|xmpp)$/i,AR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function MR(e){const n=jR(e),i=OR(e);return DR(n.runSync(n.parse(i),i),e)}function jR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return ER().use(fD).use(i).use(aR,l).use(n)}function OR(e){const n=e.children||"",i=new x_;return typeof n=="string"&&(i.value=n),i}function DR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||RR;for(const m of AR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+TR+m.id,void 0);return y_(e,h),G4(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function RR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||zR.test(e.slice(0,n))?e:""}function LR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(nN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(HR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(MR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function HR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function BR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(UR,{item:m},`${m.key}-${m.index}`))})]})]})}const qR={running:lt.running,completed:lt.completed,failed:lt.failed};function UR({item:e}){const[n,i]=V.useState(e.status==="running"),l=qR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function IR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return m4;case"human_gate":return LR;case"parallel_group":case"for_each_group":return BR;default:return h4}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Yu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function VR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(V2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(Q2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(YR,{entries:n}):o==="log"?b.jsx(GR,{entries:e}):b.jsx($R,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function YR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Yu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(tN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(Bo,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=v_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Yu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Yu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function GR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=v_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Yu(s.message)})]},u)})})}function v_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function $R({output:e,status:n}){const[i,l]=V.useState(!1),o=kb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(XR,{text:o}):o})})]})}function XR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function PR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(s4,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(IR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(VR,{})})]})}const FR=3e4;function QR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,FR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function ZR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function KR(){return QR(),null}function JR(){return ZR(),null}function WR(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(JR,{}):b.jsx(KR,{}),b.jsx(pN,{}),b.jsx(PR,{}),i?b.jsx(xN,{}):b.jsx(mN,{})]})}H2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(WR,{})})); diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 0dbe849..54a0db1 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
From a2c53c6612da6206e91060dc1edd17550c8793c2 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Mon, 30 Mar 2026 22:01:29 -0400 Subject: [PATCH 06/18] fix(dashboard): larger YAML viewer with syntax highlighting Panel is now 80% width centered modal. YAML keys are highlighted in blue, booleans/numbers in amber, strings in green, and comments in emerald. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../src/components/layout/YamlViewer.tsx | 79 ++++++++++-- .../web/static/assets/index-B8aRBcbg.css | 1 - .../{index-DVOAl3ih.js => index-BHJAGfRl.js} | 113 +++++++++--------- .../web/static/assets/index-D5lt2wLQ.css | 1 + src/conductor/web/static/index.html | 4 +- 5 files changed, 134 insertions(+), 64 deletions(-) delete mode 100644 src/conductor/web/static/assets/index-B8aRBcbg.css rename src/conductor/web/static/assets/{index-DVOAl3ih.js => index-BHJAGfRl.js} (82%) create mode 100644 src/conductor/web/static/assets/index-D5lt2wLQ.css diff --git a/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx b/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx index 56f48dc..17155a3 100644 --- a/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx +++ b/src/conductor/web/frontend/src/components/layout/YamlViewer.tsx @@ -1,4 +1,4 @@ -import { useEffect } from 'react'; +import { useEffect, useMemo } from 'react'; import { X } from 'lucide-react'; interface YamlViewerProps { @@ -6,6 +6,69 @@ interface YamlViewerProps { onClose: () => void; } +function highlightYaml(yaml: string): (JSX.Element | string)[] { + return yaml.split('\n').map((line, i) => { + // Comment lines + if (/^\s*#/.test(line)) { + return {line}{'\n'}; + } + + // Lines with key: value + const keyMatch = line.match(/^(\s*)(- )?([a-zA-Z_][\w.-]*)(:\s*)(.*)/); + if (keyMatch) { + const [, indent, dash, key, colon, value] = keyMatch; + return ( + + {indent}{dash ?? ''} + {key} + {colon} + {formatValue(value)} + {'\n'} + + ); + } + + // List items (- value) + const listMatch = line.match(/^(\s*)(- )(.*)/); + if (listMatch) { + const [, indent, dash, value] = listMatch; + return ( + + {indent}{dash}{formatValue(value)}{'\n'} + + ); + } + + return {line}{'\n'}; + }); +} + +function formatValue(value: string): JSX.Element | string { + if (!value) return ''; + // Inline comment + const commentIdx = value.indexOf(' #'); + const mainVal = commentIdx >= 0 ? value.slice(0, commentIdx) : value; + const comment = commentIdx >= 0 ? value.slice(commentIdx) : ''; + + let styledMain: JSX.Element | string = mainVal; + if (/^(true|false|null|yes|no)$/i.test(mainVal.trim())) { + styledMain = {mainVal}; + } else if (/^\d+(\.\d+)?$/.test(mainVal.trim())) { + styledMain = {mainVal}; + } else if (/^["'].*["']$/.test(mainVal.trim())) { + styledMain = {mainVal}; + } else if (mainVal.includes('|') || mainVal.includes('>')) { + styledMain = {mainVal}; + } + + return ( + <> + {styledMain} + {comment && {comment}} + + ); +} + export function YamlViewer({ yaml, onClose }: YamlViewerProps) { useEffect(() => { const handleKey = (e: KeyboardEvent) => { @@ -15,15 +78,17 @@ export function YamlViewer({ yaml, onClose }: YamlViewerProps) { return () => window.removeEventListener('keydown', handleKey); }, [onClose]); + const highlighted = useMemo(() => highlightYaml(yaml), [yaml]); + return (
{/* Backdrop */}
- {/* Panel */} -
+ {/* Panel — 80% width */} +
{/* Header */} -
+
Workflow YAML + ) : null} + + + {highlightLine(line)} + {isCollapsed && ( + toggleFold(idx)} + > + ··· + + )} + +
+ ))}
diff --git a/src/conductor/web/static/assets/index-uiae04vj.js b/src/conductor/web/static/assets/index-BOL5pxtd.js similarity index 77% rename from src/conductor/web/static/assets/index-uiae04vj.js rename to src/conductor/web/static/assets/index-BOL5pxtd.js index 3366430..d0ef9d5 100644 --- a/src/conductor/web/static/assets/index-uiae04vj.js +++ b/src/conductor/web/static/assets/index-BOL5pxtd.js @@ -1,4 +1,4 @@ -var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>C2(e,typeof n!="symbol"?n+"":n,i);function T2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Ro(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hd={exports:{}},eo={};/** +var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>T2(e,typeof n!="symbol"?n+"":n,i);function z2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Lo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hd={exports:{}},to={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cx;function z2(){if(cx)return eo;cx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return eo.Fragment=n,eo.jsx=i,eo.jsxs=i,eo}var fx;function A2(){return fx||(fx=1,Hd.exports=z2()),Hd.exports}var b=A2(),Bd={exports:{}},ze={};/** + */var cx;function A2(){if(cx)return to;cx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return to.Fragment=n,to.jsx=i,to.jsxs=i,to}var fx;function M2(){return fx||(fx=1,Hd.exports=A2()),Hd.exports}var b=M2(),Bd={exports:{}},ze={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var dx;function M2(){if(dx)return ze;dx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),y=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=y&&U[y]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}var T=_.prototype=new z;T.constructor=_,k(T,E.prototype),T.isPureReactComponent=!0;var B=Array.isArray;function A(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,P,N){var Y=N.ref;return{$$typeof:e,type:U,key:P,ref:Y!==void 0?Y:null,props:N}}function X(U,P){return R(U.type,P,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return P[N]})}var ee=/\/+/g;function L(U,P){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):P.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(A,A):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,P,N,Y,F){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),P,N,Y,F)}}if(ne)return F=F(U),ne=Y===""?"."+L(U,0):Y,B(F)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(F,P,N,"",function(ye){return ye})):F!=null&&(H(F)&&(F=X(F,N+(F.key==null||U&&U.key===F.key?"":(""+F.key).replace(ee,"$&/")+"/")+ne)),P.push(F)),1;ne=0;var re=Y===""?".":Y+":";if(B(U))for(var se=0;sen in e?k2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var px;function O2(){return px||(px=1,(function(e){function n(D,$){var Z=D.length;D.push($);e:for(;0>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function T(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,T(D),!w)if(i(d)!==null)w=!0,A||(A=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var A=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,T(D),$=!0;break t}p===i(d)&&l(d),T(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():A=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,A||(A=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function D2(){return mx||(mx=1,Ud.exports=O2()),Ud.exports}var Vd={exports:{}},Yt={};/** + */var px;function D2(){return px||(px=1,(function(e){function n(D,$){var Z=D.length;D.push($);e:for(;0>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function T(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,T(D),!w)if(i(d)!==null)w=!0,A||(A=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var A=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,T(D),$=!0;break t}p===i(d)&&l(d),T(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():A=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,A||(A=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function R2(){return mx||(mx=1,Ud.exports=D2()),Ud.exports}var Vd={exports:{}},Yt={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var gx;function R2(){if(gx)return Yt;gx=1;var e=Lo();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vd.exports=R2(),Vd.exports}/** + */var gx;function L2(){if(gx)return Yt;gx=1;var e=Ho();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vd.exports=L2(),Vd.exports}/** * @license React * react-dom-client.production.js * @@ -38,45 +38,45 @@ var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var xx;function L2(){if(xx)return to;xx=1;var e=D2(),n=Lo(),i=Sb();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Za._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Ka._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1)":-1g||Q[c]!==le[g]){var ce=` `+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` Error generating stack: `+c.message+` -`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qo(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Pt(r)):a!=null?da(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function ss(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Lc=!1}var Br=null,Hc=null,cs=null;function Dm(){if(cs)return cs;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=ya),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return F_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Z_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function K_(t,r){if(ll)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),cs=Hc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var lE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Xc=null,wa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=ru(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(N2){return r(te,N2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=bs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,Cs(ie),fe);if(ie.$$typeof===_)return nt(te,W,_s(te,ie),fe);Ts(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Ns)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=vs(t),sg(t,null,a),r}return xs(t,c,r,a),vs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function za(){if(gf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=pE(Q,c);Oa(t,r,ce,mn(t))}else Oa(t,r,c,mn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function bE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?bE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},mn())}function Df(){return Ht(Za)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function wE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function SE(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Bs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return xs(t,r,g,0),rt===null&&ys(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Bs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Bs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){vl=Ms=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}var Da={readContext:Ht,use:Ds,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Ds,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ls(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ls(4194308,4,t,r)},useInsertionEffect:function(t,r){Ls(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=SE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=js++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=iu(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ys(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=As(t),x!==null){for(r.flags|=128,La(c,!1),t=x.updateQueue,r.updateQueue=t,Ys(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=As(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ys(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Ys(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function CE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;QE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Gs(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Gs(t,r,a),t=t.sibling;t!==null;)Gs(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function TE(t,r){if(t=t.containerInfo,bd=fu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},fu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,W0(x.current),Z0(x,x.current,C,a),Fe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new ME;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=LE.bind(null,t,r,a),r.then(t,t))}function LE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Ps?(Fe&2)===0&&Cl(t,0):rd|=a,Nl===Be&&(Nl=0)),Qn(t)}function by(t,r){r===0&&(r=Qo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function HE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function BE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function qE(t,r){return Ut(t,r)}var eu=null,zl=null,fd=!1,tu=!1,dd=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?eu=zl=t:zl=zl.next=t),tu=!0,fd||(fd=!0,IE())}function Ga(t,r){if(!dd&&tu){dd=!0;do for(var a=!1,c=eu;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Ji(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function UE(){wy()}function wy(){tu=fd=!1;var t=0;ei!==0&&KE()&&(t=ei);for(var r=At(),a=null,c=eu;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?eu=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(x&3)!==0)&&(tu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function a2(t){Er.D(t),Gy("dns-prefetch",t,null)}function o2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function s2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=Ml(t);break;case"script":x=jl(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Fa(x))||r==="script"&&c.querySelector(Qa(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function u2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=jl(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function c2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,x=Ml(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Fa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,au(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function f2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function d2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),x=c.get(g);x||(x=a.querySelector(Qa(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?lu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Fa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||h2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Ft(t)+'"'}function Fa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function h2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Ft(t)+'"]'}function Qa(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),au(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var x=t.querySelector(Fa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,au(x,a.precedence,t),r.instance=x;case"script":return x=jl(a.src),(g=t.querySelector(Qa(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,au(c,a.precedence,t));return r.instance}function au(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function p2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function m2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),x=r.querySelector(Fa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=su.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=su.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function g2(t,r){return t.stylesheets&&t.count===0&&cu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function su(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var uu=null;function cu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,uu=new Map,r.forEach(y2,t),uu=null,su.call(t))}function y2(t,r){if(!(r.state.loading&4)){var a=uu.get(t);if(a)var c=a.get(null);else{a=new Map,uu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=L2(),qd.exports}var B2=H2();/** +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Zi=256,Ki=262144,Ji=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Wi(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qo(){var t=Ji;return Ji<<=1,(Ji&62914560)===0&&(Ji=4194304),t}function sa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?ha(t,C,Pt(r)):a!=null?ha(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function ss(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function ha(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var ma={};Object.defineProperty(ma,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",ma,ma),window.removeEventListener("test",ma,ma)}catch{Lc=!1}var Br=null,Hc=null,cs=null;function Dm(){if(cs)return cs;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=xa),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return Q_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var al=!1;function K_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function J_(t,r){if(al)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),cs=Hc=Br=null,al=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var aE=ur&&"documentMode"in document&&11>=document.documentMode,ol=null,Xc=null,Sa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||ol==null||ol!==gi(c)||(c=ol,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Sa&&wa(Sa,c)||(Sa=c,c=ru(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(k2){return r(te,k2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ta(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=bs(ie.type,ie.key,ie.props,null,te.mode,fe),Ta(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,Cs(ie),fe);if(ie.$$typeof===_)return nt(te,W,_s(te,ie),fe);Ts(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{Ca=0;var Ee=nt(te,W,ie,fe);return xl=null,Ee}catch(Se){if(Se===yl||Se===Ns)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=vs(t),sg(t,null,a),r}return xs(t,c,r,a),vs(t)}function za(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function Aa(){if(gf){var t=gl;if(t!==null)throw t}}function Ma(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===ml&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=mE(Q,c);Da(t,r,ce,mn(t))}else Da(t,r,c,mn(t))}catch(de){Da(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function wE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?wE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Da(t,r.next.queue,{},mn())}function Df(){return Ht(Ka)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function SE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),za(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function _E(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Da(t,r,a,c)}function Da(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Bs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return xs(t,r,g,0),rt===null&&ys(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Bs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Bs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){bl=Ms=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}var Ra={readContext:Ht,use:Ds,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Ra.useEffectEvent=pt;var d0={readContext:Ht,use:Ds,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ls(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ls(4194308,4,t,r)},useInsertionEffect:function(t,r){Ls(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=_E.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,Sl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=js++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,hl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=iu(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=hl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=hl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ys(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)Ha(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=As(t),x!==null){for(r.flags|=128,Ha(c,!1),t=x.updateQueue,r.updateQueue=t,Ys(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304)}else{if(!g)if(t=As(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ys(r,t),Ha(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Ys(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function TE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ba(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function qa(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;ZE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Gs(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Gs(t,r,a),t=t.sibling;t!==null;)Gs(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function zE(t,r){if(t=t.containerInfo,bd=fu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},fu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,Cl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,W0(x.current),Z0(x,x.current,C,a),Fe=O,$a(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new jE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=HE.bind(null,t,r,a),r.then(t,t))}function HE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Ps?(Fe&2)===0&&Tl(t,0):rd|=a,kl===Be&&(kl=0)),Qn(t)}function by(t,r){r===0&&(r=Qo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function BE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function qE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function UE(t,r){return Ut(t,r)}var eu=null,Al=null,fd=!1,tu=!1,dd=!1,ei=0;function Qn(t){t!==Al&&t.next===null&&(Al===null?eu=Al=t:Al=Al.next=t),tu=!0,fd||(fd=!0,VE())}function $a(t,r){if(!dd&&tu){dd=!0;do for(var a=!1,c=eu;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Wi(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function IE(){wy()}function wy(){tu=fd=!1;var t=0;ei!==0&&JE()&&(t=ei);for(var r=At(),a=null,c=eu;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?eu=g:a.next=g,g===null&&(Al=a)):(a=c,(t!==0||(x&3)!==0)&&(tu=!0)),c=g}jt!==0&&jt!==5||$a(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Ml;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function o2(t){Er.D(t),Gy("dns-prefetch",t,null)}function s2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function u2(t,r,a){Er.L(t,r,a);var c=Ml;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=jl(t);break;case"script":x=Ol(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Qa(x))||r==="script"&&c.querySelector(Za(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function c2(t,r){Er.m(t,r);var a=Ml;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=Ol(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Za(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function f2(t,r,a){Er.S(t,r,a);var c=Ml;if(c&&t){var g=Rr(c).hoistableStyles,x=jl(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Qa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,au(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function d2(t,r){Er.X(t,r);var a=Ml;if(a&&t){var c=Rr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function h2(t,r){Er.M(t,r);var a=Ml;if(a&&t){var c=Rr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?lu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=jl(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=jl(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Qa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||p2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=Ol(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function jl(t){return'href="'+Ft(t)+'"'}function Qa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function p2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function Ol(t){return'[src="'+Ft(t)+'"]'}function Za(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),au(c,a.precedence,t),r.instance=c;case"stylesheet":g=jl(a.href);var x=t.querySelector(Qa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,au(x,a.precedence,t),r.instance=x;case"script":return x=Ol(a.src),(g=t.querySelector(Za(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,au(c,a.precedence,t));return r.instance}function au(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function m2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function g2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=jl(c.href),x=r.querySelector(Qa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=su.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=su.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function y2(t,r){return t.stylesheets&&t.count===0&&cu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function su(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var uu=null;function cu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,uu=new Map,r.forEach(x2,t),uu=null,su.call(t))}function x2(t,r){if(!(r.state.loading&4)){var a=uu.get(t);if(a)var c=a.get(null);else{a=new Map,uu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=H2(),qd.exports}var q2=B2();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const q2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_b=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** + */const U2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Eb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var U2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var I2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const I2=V.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>V.createElement("svg",{ref:d,...U2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:_b("lucide",o),...f},[...u.map(([h,m])=>V.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** + */const V2=V.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>V.createElement("svg",{ref:d,...I2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Eb("lucide",o),...f},[...u.map(([h,m])=>V.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Pe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(I2,{ref:s,iconNode:n,className:_b(`lucide-${q2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** + */const Pe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(V2,{ref:s,iconNode:n,className:Eb(`lucide-${U2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Eb=Pe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const Nb=Pe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const V2=Pe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const Y2=Pe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -86,82 +86,82 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ra=Pe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Fi=Pe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ho=Pe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const ia=Pe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Y2=Pe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const G2=Pe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const G2=Pe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const $2=Pe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $2=Pe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */const X2=Pe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const X2=Pe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** + */const P2=Pe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nb=Pe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const kb=Pe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const P2=Pe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + */const F2=Pe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const F2=Pe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const Q2=Pe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Q2=Pe("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** + */const Z2=Pe("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z2=Pe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** + */const K2=Pe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K2=Pe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const J2=Pe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const J2=Pe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** + */const W2=Pe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const So=Pe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const _o=Pe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const W2=Pe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + */const eN=Pe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eN=Pe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** + */const tN=Pe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -171,22 +171,22 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tN=Pe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const nN=Pe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nN=Pe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const rN=Pe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rN=Pe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const iN=Pe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iN=Pe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const lN=Pe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -196,27 +196,27 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kb=Pe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + */const Cb=Pe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lN=Pe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const aN=Pe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aN=Pe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const oN=Pe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oN=Pe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const sN=Pe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sN=Pe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** + */const uN=Pe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -226,12 +226,8 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uN=Pe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},cN=(e=>e?wx(e):wx),fN=e=>e;function dN(e,n=fN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const Sx=e=>{const n=cN(e),i=l=>dN(n,l);return Object.assign(i,n),i},hN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function xu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=hN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,workflowYaml:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bu(n);s&&o.eventLog.push(s);const u=wu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=vu[s.type];u&&u(o,s.data,s.timestamp);const f=bu(s);f&&o.eventLog.push(f);const d=wu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.workflowYaml=l.yaml_source??null,e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};xu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Ru(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function pN(e){return e.split(` -`).map((n,i)=>{if(/^\s*#/.test(n))return b.jsxs("span",{className:"text-emerald-500/70",children:[n,` -`]},i);const l=n.match(/^(\s*)(- )?([a-zA-Z_][\w.-]*)(:\s*)(.*)/);if(l){const[,s,u,f,d,h]=l;return b.jsxs("span",{children:[s,u??"",b.jsx("span",{className:"text-sky-400",children:f}),b.jsx("span",{className:"text-[var(--text-muted)]",children:d}),_x(h),` -`]},i)}const o=n.match(/^(\s*)(- )(.*)/);if(o){const[,s,u,f]=o;return b.jsxs("span",{children:[s,b.jsx("span",{className:"text-[var(--text-muted)]",children:u}),_x(f),` -`]},i)}return b.jsxs("span",{children:[n,` -`]},i)})}function _x(e){if(!e)return"";const n=e.indexOf(" #"),i=n>=0?e.slice(0,n):e,l=n>=0?e.slice(n):"";let o=i;return/^(true|false|null|yes|no)$/i.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^\d+(\.\d+)?$/.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^["'].*["']$/.test(i.trim())?o=b.jsx("span",{className:"text-green-400",children:i}):(i.includes("|")||i.includes(">"))&&(o=b.jsx("span",{className:"text-[var(--text-secondary)]",children:i})),b.jsxs(b.Fragment,{children:[o,l&&b.jsx("span",{className:"text-emerald-500/70",children:l})]})}function mN({yaml:e,onClose:n}){V.useEffect(()=>{const l=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[n]);const i=V.useMemo(()=>pN(e),[e]);return b.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[b.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:n}),b.jsxs("div",{className:"relative w-[80%] h-[90%] flex flex-col bg-[var(--bg)] border border-[var(--border)] rounded-lg shadow-2xl",children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-[var(--border)] rounded-t-lg bg-[var(--surface)]",children:[b.jsx("span",{className:"text-sm font-semibold text-[var(--text)]",children:"Workflow YAML"}),b.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-auto",children:b.jsx("pre",{className:"text-[13px] font-mono whitespace-pre leading-6",style:{padding:"1rem"},children:i})})]})]})}function gN(){const e=he(S=>S.workflowName),n=he(S=>S.workflowStatus),i=he(S=>S.isPaused),l=he(S=>S.workflowYaml),[o,s]=V.useState(!1),[u,f]=V.useState(!1),[d,h]=V.useState(!1),[m,p]=V.useState(!1),y=n==="running"||n==="pending";V.useEffect(()=>{i||(s(!1),f(!1),h(!1))},[i]);const v=async()=>{s(!0);try{await fetch("/api/stop",{method:"POST"})}catch(S){console.error("Failed to stop agent:",S),s(!1)}},w=async()=>{f(!0);try{await fetch("/api/resume",{method:"POST"})}catch(S){console.error("Failed to resume agent:",S),f(!1)}},k=async()=>{h(!0);try{await fetch("/api/kill",{method:"POST"})}catch(S){console.error("Failed to kill workflow:",S),h(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(Eb,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:w,disabled:u,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + */const cN=Pe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},fN=(e=>e?wx(e):wx),dN=e=>e;function hN(e,n=dN){const i=Ul.useSyncExternalStore(e.subscribe,Ul.useCallback(()=>n(e.getState()),[e,n]),Ul.useCallback(()=>n(e.getInitialState()),[e,n]));return Ul.useDebugValue(i),i}const Sx=e=>{const n=fN(e),i=l=>hN(n,l);return Object.assign(i,n),i},pN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function xu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function ro(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=pN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,workflowYaml:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bu(n);s&&o.eventLog.push(s);const u=wu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=vu[s.type];u&&u(o,s.data,s.timestamp);const f=bu(s);f&&o.eventLog.push(f);const d=wu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.workflowYaml=l.yaml_source??null,e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){ro(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Ru(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:io(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?io(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?io(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:io(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?io(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function io(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function _x(e){const n=e.match(/^(\s*)/);return n?n[1].length:0}function mN(e){const n=new Map;for(let i=0;io)s=u;else break}s>i&&n.set(i,s)}return n}function gN(e){if(/^\s*#/.test(e))return b.jsx("span",{className:"text-emerald-500/70",children:e});const n=e.match(/^(\s*)(- )?([a-zA-Z_][\w.-]*)(:\s*)(.*)/);if(n){const[,l,o,s,u,f]=n;return b.jsxs("span",{children:[l,o??"",b.jsx("span",{className:"text-sky-400",children:s}),b.jsx("span",{className:"text-[var(--text-muted)]",children:u}),Ex(f)]})}const i=e.match(/^(\s*)(- )(.*)/);if(i){const[,l,o,s]=i;return b.jsxs("span",{children:[l,b.jsx("span",{className:"text-[var(--text-muted)]",children:o}),Ex(s)]})}return b.jsx("span",{children:e})}function Ex(e){if(!e)return"";const n=e.indexOf(" #"),i=n>=0?e.slice(0,n):e,l=n>=0?e.slice(n):"";let o=i;return/^(true|false|null|yes|no)$/i.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^\d+(\.\d+)?$/.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^["'].*["']$/.test(i.trim())?o=b.jsx("span",{className:"text-green-400",children:i}):(i.includes("|")||i.includes(">"))&&(o=b.jsx("span",{className:"text-[var(--text-secondary)]",children:i})),b.jsxs(b.Fragment,{children:[o,l&&b.jsx("span",{className:"text-emerald-500/70",children:l})]})}function yN({yaml:e,onClose:n}){const[i,l]=V.useState(new Set);V.useEffect(()=>{const d=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n]);const o=V.useMemo(()=>e.split(` +`),[e]),s=V.useMemo(()=>mN(o),[o]),u=V.useCallback(d=>{l(h=>{const m=new Set(h);return m.has(d)?m.delete(d):m.add(d),m})},[]),f=V.useMemo(()=>{const d=[];let h=-1;for(let m=0;mb.jsxs("div",{className:"flex",children:[b.jsx("span",{className:"inline-flex items-center justify-center flex-shrink-0",style:{width:"1.25rem"},children:m?b.jsx("button",{onClick:()=>u(d),className:"text-[var(--text-muted)] hover:text-[var(--text)] p-0 leading-none",style:{background:"none",border:"none",cursor:"pointer"},children:p?b.jsx(ia,{className:"w-3 h-3"}):b.jsx(Fi,{className:"w-3 h-3"})}):null}),b.jsxs("span",{className:"flex-1",children:[gN(h),p&&b.jsx("span",{className:"text-[var(--text-muted)] text-[11px] ml-2 px-1.5 py-0.5 rounded bg-[var(--surface-hover)] cursor-pointer",onClick:()=>u(d),children:"···"})]})]},d))})})]})]})}function xN(){const e=he(S=>S.workflowName),n=he(S=>S.workflowStatus),i=he(S=>S.isPaused),l=he(S=>S.workflowYaml),[o,s]=V.useState(!1),[u,f]=V.useState(!1),[d,h]=V.useState(!1),[m,p]=V.useState(!1),y=n==="running"||n==="pending";V.useEffect(()=>{i||(s(!1),f(!1),h(!1))},[i]);const v=async()=>{s(!0);try{await fetch("/api/stop",{method:"POST"})}catch(S){console.error("Failed to stop agent:",S),s(!1)}},w=async()=>{f(!0);try{await fetch("/api/resume",{method:"POST"})}catch(S){console.error("Failed to resume agent:",S),f(!1)}},k=async()=>{h(!0);try{await fetch("/api/kill",{method:"POST"})}catch(S){console.error("Failed to kill workflow:",S),h(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(Nb,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:w,disabled:u,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 hover:border-emerald-500/30 disabled:opacity-50 disabled:cursor-not-allowed @@ -243,13 +239,13 @@ Error generating stack: `+c.message+` bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 hover:border-red-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,children:[b.jsx(kb,{className:"w-3 h-3"}),o?"Stopping...":"Stop"]}):null,l&&b.jsxs("button",{onClick:()=>p(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,children:[b.jsx(Cb,{className:"w-3 h-3"}),o?"Stopping...":"Stop"]}):null,l&&b.jsxs("button",{onClick:()=>p(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"View workflow YAML configuration",children:[b.jsx(Q2,{className:"w-3 h-3"}),"YAML"]}),b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"View workflow YAML configuration",children:[b.jsx(Z2,{className:"w-3 h-3"}),"YAML"]}),b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(P2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]}),m&&l&&b.jsx(mN,{yaml:l,onClose:()=>p(!1)})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function Cb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function Tb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function yN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Tb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(sN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(oN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(J2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(X2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const xN=[1,5,10,20,50];function vN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function bN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(eN,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(F2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]}),m&&l&&b.jsx(yN,{yaml:l,onClose:()=>p(!1)})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Zl(e){return e==null?"":`$${e.toFixed(4)}`}function Tb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function zb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function vN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=zb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(uN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(sN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(W2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(P2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(X2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const bN=[1,5,10,20,50];function wN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function SN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(tN,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; @@ -269,7 +265,7 @@ Error generating stack: `+c.message+` cursor: pointer; box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); } - `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:vN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:xN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,Ex=j2.useId,wN=typeof Ex=="function"?Ex:()=>null;let SN=0;function Gp(e=null){const n=wN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+SN++),e??i.current}function zb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=V.forwardRef((e,n)=>V.createElement(zb,{...e,forwardedRef:n}));zb.displayName="Panel";co.displayName="forwardRef(Panel)";let mp=null,Lu=-1,ci=null;function _N(e,n){if(n){const i=(n&Db)!==0,l=(n&Rb)!==0,o=(n&Lb)!==0,s=(n&Hb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function EN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Lu=-1)}function Yd(e,n){var i,l;const o=_N(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Lu>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Lu)}Lu=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Ab(e){return e.type==="keydown"}function Mb(e){return e.type.startsWith("pointer")}function jb(e){return e.type.startsWith("mouse")}function oc(e){if(Mb(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(jb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function NN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function kN(e,n,i){return e.xn.x&&e.yn.y}function CN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Cx(e),b:Cx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:kx(Nx(i.a)),b:kx(Nx(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const TN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function zN(e){var n;const i=getComputedStyle((n=Ob(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function AN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||zN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||TN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Nx(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),AN(i))return i}return null}function kx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Cx(e){const n=[];for(;e;)n.push(e),e=Ob(e);return n}function Ob(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Db=1,Rb=2,Lb=4,Hb=8,MN=NN()==="coarse";let In=[],Gl=!1,Li=new Map,sc=new Map;const _o=new Set;function jN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Gu(),function(){var m;sc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Gu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function ON(e){const{target:n}=e,{x:i,y:l}=oc(e);Gl=!0,$p({target:n,x:i,y:l}),Gu(),In.length>0&&($u("down",e),e.preventDefault(),Bb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if(Gl&&e.buttons===0&&(Gl=!1,$u("up",e)),!Gl){const{target:l}=e;$p({target:l,x:n,y:i})}$u("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),Gl=!1,In.length>0&&(e.preventDefault(),Bb(n)||e.stopImmediatePropagation()),$u("up",e),$p({target:n,x:i,y:l}),Xp(),Gu()}function Bb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=MN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&CN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(kN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):EN()}let Pd=new AbortController;function Gu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};_o.size&&(Gl?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",ON,e),l.addEventListener("pointermove",Gd,e))}))}function $u(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function DN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function RN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Ul({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(RN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function LN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function qb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Ub(e,n,i){const l=qb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ib(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function HN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function BN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ib(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=HN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=fo({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:Ub(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Tx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function Su(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function zx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Yb(e){return`react-resizable-panels:${e}`}function Gb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function $b(e,n){try{const i=Yb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function GN(e,n,i){var l,o;const s=(l=$b(e,i))!==null&&l!==void 0?l:{},u=Gb(n);return(o=s[u])!==null&&o!==void 0?o:null}function $N(e,n,i,l,o){var s;const u=Yb(e),f=Gb(n),d=(s=$b(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Ax({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(zx(ho),ho.getItem(e)),setItem:(e,n)=>{zx(ho),ho.setItem(e,n)}},Mx={};function Xb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=DN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=Ax({layout:N,panelConstraints:K.map(re=>re.constraints)});Tx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),BN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=Mx[e];Y==null&&(Y=YN($N,XN),Mx[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=Bl(K,N)===K.length-1?se-re:re-se,pe=fo({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});Su(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=Bl(ne,N)===ne.length-1?ye-Me:Me-ye,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});Su(K,We)||(E(We),q.current.layout=We,F&&F(We),Dl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=Bl(F,N);return VN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=GN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=IN({panelDataArray:ne}));const se=Ax({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});Tx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=Ub(ve,N,re);let We=UN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:Ab(ne)?"keyboard":"mouse-or-touch"}),wn=!Su(_e,Dt);(Mb(ne)||jb(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Db:Rb):Xd(N,We<0?Lb:Hb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Dl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=Bl(ne,N)===ne.length-1?se-Y:Y-se,pe=fo({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});Su(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Vb(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=Bl(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement(Xb,{...e,forwardedRef:n}));Xb.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function PN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=qb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return jN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),PN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Hu.prototype=cc.prototype={constructor:Hu,on:function(e,n){var i=this._,l=QN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Ox.hasOwnProperty(n)?{space:Ox[n],local:e}:e}function KN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function JN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Pb(e){var n=fc(e);return(n.local?JN:KN)(n)}function WN(){}function Pp(e){return e==null?WN:function(){return this.querySelector(e)}}function ek(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function Nk(e){e||(e=kk);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function Ck(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Tk(){return Array.from(this)}function zk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Uk:typeof n=="function"?Vk:Ik)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Jb(e).getComputedStyle(e,null).getPropertyValue(n)}function Gk(e){return function(){delete this[e]}}function $k(e,n){return function(){this[e]=n}}function Xk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Pk(e,n){return arguments.length>1?this.each((n==null?Gk:typeof n=="function"?Xk:$k)(e,n)):this.node()[e]}function Wb(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new ew(e)}function ew(e){this._node=e,this._names=Wb(e.getAttribute("class")||"")}ew.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function tw(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function wC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function MC(e){return!e.ctrlKey&&!e.button}function jC(){return this.parentNode}function OC(e,n){return n??{x:e.x,y:e.y}}function DC(){return navigator.maxTouchPoints||"ontouchstart"in this}function ow(){var e=MC,n=jC,i=OC,l=DC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,AC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),lw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if($l(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),aw(T.view,h),$l(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Eu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Eu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=LC.exec(e))?new nn(n[1],n[2],n[3],1):(n=HC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=BC.exec(e))?Eu(n[1],n[2],n[3],n[4]):(n=qC.exec(e))?Eu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=UC.exec(e))?Ux(n[1],n[2]/100,n[3]/100,1):(n=IC.exec(e))?Ux(n[1],n[2]/100,n[3]/100,n[4]):Dx.hasOwnProperty(e)?Hx(Dx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Hx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function Eu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function GC(e){return e instanceof Uo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?GC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,sw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Fu(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:Bx,formatHex:Bx,formatHex8:$C,formatRgb:qx,toString:qx}));function Bx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function $C(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function qx(){const e=Fu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Fu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Ux(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function uw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof Uo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function XC(e,n,i,l){return arguments.length===1?uw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,XC,sw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Ix(this.h),Nu(this.s),Nu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ix(this.h)}, ${Nu(this.s)*100}%, ${Nu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ix(e){return e=(e||0)%360,e<0?e+360:e}function Nu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function PC(e,n){return function(i){return e+i*n}}function FC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function QC(e){return(e=+e)==1?cw:function(n,i){return i-n?FC(n,i,e):Zp(isNaN(n)?i:n)}}function cw(e,n){var i=n-e;return i?PC(e,i):Zp(isNaN(e)?n:e)}const Qu=(function e(n){var i=QC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=cw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function ZC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Gx(){Gi=(Ku=To.now())+dc,Kl=po=0;try{f3()}finally{Kl=0,h3(),Gi=0}}function d3(){var e=To.now(),n=e-Ku;n>pw&&(dc-=n,Ku=e)}function h3(){for(var e,n=Zu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Zu=i);mo=e,_p(l)}function _p(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Gx,e-To.now()-dc)),io&&(io=clearInterval(io))):(io||(Ku=To.now(),io=setInterval(d3,pw)),Kl=1,mw(Gx))}}function $x(e,n,i){var l=new Ju;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var p3=cc("start","end","cancel","interrupt"),m3=[],yw=0,Xx=1,Ep=2,qu=3,Px=4,Np=5,Uu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;g3(e,i,{name:n,index:l,group:o,on:p3,tween:m3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:yw})}function Jp(e,n){var i=Yn(e,n);if(i.state>yw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>qu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function g3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=gw(s,0,i.time);function s(h){i.state=Xx,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==Xx)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===qu)return $x(u);v.state===Px?(v.state=Uu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function X3(e,n,i){var l,o,s=$3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function P3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(X3(i,e,n))}function F3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Q3(){return this.on("end.remove",F3(this._id))}function Z3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function wT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);ww.prototype=Cr.prototype;function ww(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function ST(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function _T(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Fx(){return this.__zoom||pc}function ET(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function NT(){return navigator.maxTouchPoints||"ontouchstart"in this}function kT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function Sw(){var e=ST,n=_T,i=kT,l=ET,o=NT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Bu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Fx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Fx),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new wT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Iu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;lw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Iu(this),$.start();function P(Y){if(lo(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),aw(Y.view,$.moved),lo(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Iu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],_w=["Enter"," ","Escape"],Ew={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Nw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Wu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wu||(Wu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Qx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function kw(e){return e===null?null:e?"valid":"invalid"}const Cw=e=>"id"in e&&"source"in e&&"target"in e,CT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Io=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},TT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?ec(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Vo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,ec(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Go(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},zT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function AT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function MT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=AT(e,u),d=Vo(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Tw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function jT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=zT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function zw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Zx=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,Aw=(e,n,i=15,l=40)=>{const o=Zx(e.x,l,n.width-l)*i,s=Zx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},ec=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Mw=(e,n)=>gc(mc(kp(e),kp(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Kx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),OT=(e,n)=>{},Yo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Go=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Yo(f,u):f},tc=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function DT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function RT(e,n,i,l,o,s){const{x:u,y:f}=tc(e,[n,i,l]),{x:d,y:h}=tc({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=DT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=RT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function jw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Ow(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Jx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function LT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function HT(e){return{...Ew,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Go({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Yo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Dw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},BT=["INPUT","SELECT","TEXTAREA"];function Rw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:BT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Lw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Lw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Wx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Tu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function ev({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Tu(n-l,s),i];case we.Right:return[n+Tu(l-n,s),i];case we.Top:return[n,i-Tu(i-o,s)];case we.Bottom:return[n,i+Tu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=ev({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=ev({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const IT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,VT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),YT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||IT;let o;return Cw(e)?o={...e}:o={...e,id:l(e)},VT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function qw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Bw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const tv={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},GT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function $T({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=tv[n],d=tv[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=GT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=Bw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function XT(e,n,i,l){const o=Math.min(nv(e,n)/2,nv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function FT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Uw=1e3,QT=10,lm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ZT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function KT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Io(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function JT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(ZT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?Uw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Io(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:JT(p,y),z:Iw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function WT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}WT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*QT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?Uw:0,{x:y,y:v,z:w}=ez(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Iw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function ez(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Io(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=zw(p,d,n));const y=Iw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Mw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function nz({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function av(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Vw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;av("source",d,m,e,o,u),av("target",d,h,e,s,f),n.set(l.id,l)}}function Yw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Yw(i,n):!1}function ov(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function rz(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Yw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function iz({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Yo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function lz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Vo(f)):null,K=Y&&$?iz({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Yo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Tw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=Aw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=rz(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=ow().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!ov(ee,`.${z}`,T))&&(!_||ov(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function az(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const oz=250;function sz(e,n,i,l){var f,d;let o=[],s=1/0;const u=az(e,i,n+oz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Gw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function $w(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function uz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Xw=()=>!0;function cz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=Xw,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Dw(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=$w(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Gw(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=Aw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Qx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=sz(Go(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Pw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=uz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?tc({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Qx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Pw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Xw,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=$w(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=Gw(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:cz,isValid:Pw};function fz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=Sw().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Fw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),dz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=dz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Qw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function hz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Qw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function pz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function mz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function gz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Fw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function yz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Fw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function xz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function vz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=Sw().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Qw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?hz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):pz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=mz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=gz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=yz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=xz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?ww(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Bu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function bz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function sv(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function zu(e,n,i){return Math.max(0,n-e,e-i)}function uv(e,n){return e?!n:n}function wz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=zu(X,k,S),G=zu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=zu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=zu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(uv(d,h)?-M:M)/q:M=(uv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Zw={width:0,height:0,x:0,y:0},Sz={...Zw,pointerX:0,pointerY:0,aspectRatio:1};function _z(e){return[[0,0],[e.measured.width,e.measured.height]]}function Ez(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function Nz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:sv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Zw},z={...Sz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:sv(h)};let _,T=null,B=[],A,q,M,R=!1;const X=ow().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?_z(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=Ez(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=wz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** + `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:wN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:bN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,Nx=O2.useId,_N=typeof Nx=="function"?Nx:()=>null;let EN=0;function Gp(e=null){const n=_N(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+EN++),e??i.current}function Ab({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const fo=V.forwardRef((e,n)=>V.createElement(Ab,{...e,forwardedRef:n}));Ab.displayName="Panel";fo.displayName="forwardRef(Panel)";let mp=null,Lu=-1,ci=null;function NN(e,n){if(n){const i=(n&Rb)!==0,l=(n&Lb)!==0,o=(n&Hb)!==0,s=(n&Bb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function kN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Lu=-1)}function Yd(e,n){var i,l;const o=NN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Lu>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Lu)}Lu=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Mb(e){return e.type==="keydown"}function jb(e){return e.type.startsWith("pointer")}function Ob(e){return e.type.startsWith("mouse")}function oc(e){if(jb(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Ob(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function CN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function TN(e,n,i){return e.xn.x&&e.yn.y}function zN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Tx(e),b:Tx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Cx(kx(i.a)),b:Cx(kx(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const AN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function MN(e){var n;const i=getComputedStyle((n=Db(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function jN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||MN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||AN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function kx(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),jN(i))return i}return null}function Cx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Tx(e){const n=[];for(;e;)n.push(e),e=Db(e);return n}function Db(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Rb=1,Lb=2,Hb=4,Bb=8,ON=CN()==="coarse";let In=[],$l=!1,Li=new Map,sc=new Map;const Eo=new Set;function DN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),Eo.add(f),Gu(),function(){var m;sc.delete(e),Eo.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Gu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function RN(e){const{target:n}=e,{x:i,y:l}=oc(e);$l=!0,$p({target:n,x:i,y:l}),Gu(),In.length>0&&($u("down",e),e.preventDefault(),qb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if($l&&e.buttons===0&&($l=!1,$u("up",e)),!$l){const{target:l}=e;$p({target:l,x:n,y:i})}$u("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),$l=!1,In.length>0&&(e.preventDefault(),qb(n)||e.stopImmediatePropagation()),$u("up",e),$p({target:n,x:i,y:l}),Xp(),Gu()}function qb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),Eo.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=ON?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&zN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(TN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):kN()}let Pd=new AbortController;function Gu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};Eo.size&&($l?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",RN,e),l.addEventListener("pointermove",Gd,e))}))}function $u(e,n){Eo.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function LN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function HN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Il({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(HN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Il({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function BN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function No(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Ub(e,n,i=document){const o=No(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Ib(e,n,i){const l=Ub(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Vb(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function qN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=No(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function UN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=No(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Vb(i,s);De(h!=null,`No group found for id "${i}"`);const m=No(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=qN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=ho({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:Ib(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function zx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function Su(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Ax(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Gb(e){return`react-resizable-panels:${e}`}function $b(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Xb(e,n){try{const i=Gb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function XN(e,n,i){var l,o;const s=(l=Xb(e,i))!==null&&l!==void 0?l:{},u=$b(n);return(o=s[u])!==null&&o!==void 0?o:null}function PN(e,n,i,l,o){var s;const u=Gb(e),f=$b(n),d=(s=Xb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Mx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Ax(po),po.getItem(e)),setItem:(e,n)=>{Ax(po),po.setItem(e,n)}},jx={};function Pb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=po,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=LN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=Mx({layout:N,panelConstraints:K.map(re=>re.constraints)});zx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Rl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),UN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=jx[e];Y==null&&(Y=$N(PN,FN),jx[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=ql(K,N)===K.length-1?se-re:re-se,pe=ho({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});Su(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Rl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=ql(ne,N)===ne.length-1?ye-Me:Me-ye,We=ho({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});Su(K,We)||(E(We),q.current.layout=We,F&&F(We),Rl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=ql(F,N);return GN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=XN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=YN({panelDataArray:ne}));const se=Mx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});zx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Rl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=Ib(ve,N,re);let We=VN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=ho({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:Mb(ne)?"keyboard":"mouse-or-touch"}),wn=!Su(_e,Dt);(jb(ne)||Ob(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Rb:Lb):Xd(N,We<0?Hb:Bb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Rl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=ql(ne,N)===ne.length-1?se-Y:Y-se,pe=ho({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});Su(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Rl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Yb(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=ql(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement(Pb,{...e,forwardedRef:n}));Pb.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function ql(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=ql(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function QN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=No(f,l),h=Ub(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return DN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),QN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Hu.prototype=cc.prototype={constructor:Hu,on:function(e,n){var i=this._,l=KN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Dx.hasOwnProperty(n)?{space:Dx[n],local:e}:e}function WN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function ek(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fb(e){var n=fc(e);return(n.local?ek:WN)(n)}function tk(){}function Pp(e){return e==null?tk:function(){return this.querySelector(e)}}function nk(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function Ck(e){e||(e=Tk);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function zk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ak(){return Array.from(this)}function Mk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Vk:typeof n=="function"?Gk:Yk)(e,n,i??"")):Kl(this.node(),e)}function Kl(e,n){return e.style.getPropertyValue(n)||Wb(e).getComputedStyle(e,null).getPropertyValue(n)}function Xk(e){return function(){delete this[e]}}function Pk(e,n){return function(){this[e]=n}}function Fk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Qk(e,n){return arguments.length>1?this.each((n==null?Xk:typeof n=="function"?Fk:Pk)(e,n)):this.node()[e]}function ew(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new tw(e)}function tw(e){this._node=e,this._names=ew(e.getAttribute("class")||"")}tw.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function nw(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function _C(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function OC(e){return!e.ctrlKey&&!e.button}function DC(){return this.parentNode}function RC(e,n){return n??{x:e.x,y:e.y}}function LC(){return navigator.maxTouchPoints||"ontouchstart"in this}function sw(){var e=OC,n=DC,i=RC,l=LC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,jC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,ko).on("mouseup.drag",k,ko),aw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if(Xl(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),ow(T.view,h),Xl(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Eu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Eu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=BC.exec(e))?new nn(n[1],n[2],n[3],1):(n=qC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=UC.exec(e))?Eu(n[1],n[2],n[3],n[4]):(n=IC.exec(e))?Eu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=VC.exec(e))?Ix(n[1],n[2]/100,n[3]/100,1):(n=YC.exec(e))?Ix(n[1],n[2]/100,n[3]/100,n[4]):Rx.hasOwnProperty(e)?Bx(Rx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Bx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function Eu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function XC(e){return e instanceof Uo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?XC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,uw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Fu(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:qx,formatHex:qx,formatHex8:PC,formatRgb:Ux,toString:Ux}));function qx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function PC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ux(){const e=Fu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Fu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Ix(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function cw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof Uo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function FC(e,n,i,l){return arguments.length===1?cw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,FC,uw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Vx(this.h),Nu(this.s),Nu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fu(this.opacity);return`${e===1?"hsl(":"hsla("}${Vx(this.h)}, ${Nu(this.s)*100}%, ${Nu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Vx(e){return e=(e||0)%360,e<0?e+360:e}function Nu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function QC(e,n){return function(i){return e+i*n}}function ZC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function KC(e){return(e=+e)==1?fw:function(n,i){return i-n?ZC(n,i,e):Zp(isNaN(n)?i:n)}}function fw(e,n){var i=n-e;return i?QC(e,i):Zp(isNaN(e)?n:e)}const Qu=(function e(n){var i=KC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=fw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function JC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Jl}function $x(){Gi=(Ku=zo.now())+dc,Jl=mo=0;try{h3()}finally{Jl=0,m3(),Gi=0}}function p3(){var e=zo.now(),n=e-Ku;n>mw&&(dc-=n,Ku=e)}function m3(){for(var e,n=Zu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Zu=i);go=e,_p(l)}function _p(e){if(!Jl){mo&&(mo=clearTimeout(mo));var n=e-Gi;n>24?(e<1/0&&(mo=setTimeout($x,e-zo.now()-dc)),lo&&(lo=clearInterval(lo))):(lo||(Ku=zo.now(),lo=setInterval(p3,mw)),Jl=1,gw($x))}}function Xx(e,n,i){var l=new Ju;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var g3=cc("start","end","cancel","interrupt"),y3=[],xw=0,Px=1,Ep=2,qu=3,Fx=4,Np=5,Uu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;x3(e,i,{name:n,index:l,group:o,on:g3,tween:y3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:xw})}function Jp(e,n){var i=Yn(e,n);if(i.state>xw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>qu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function x3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=yw(s,0,i.time);function s(h){i.state=Px,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==Px)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===qu)return Xx(u);v.state===Fx?(v.state=Uu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function F3(e,n,i){var l,o,s=P3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function Q3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(F3(i,e,n))}function Z3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function K3(){return this.on("end.remove",Z3(this._id))}function J3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function _T(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);Sw.prototype=Cr.prototype;function Sw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function ao(e){e.preventDefault(),e.stopImmediatePropagation()}function ET(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function NT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Qx(){return this.__zoom||pc}function kT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function CT(){return navigator.maxTouchPoints||"ontouchstart"in this}function TT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function _w(){var e=ET,n=NT,i=TT,l=kT,o=CT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Bu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Qx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Qx),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new _T(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Iu(this),D.start()}ao(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;aw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Iu(this),$.start();function P(Y){if(ao(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),ow(Y.view,$.moved),ao(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);ao(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Iu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(ao(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ao=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ew=["Enter"," ","Escape"],Nw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Wl;(function(e){e.Strict="strict",e.Loose="loose"})(Wl||(Wl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Mo;(function(e){e.Partial="partial",e.Full="full"})(Mo||(Mo={}));const kw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Wu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wu||(Wu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Zx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Cw(e){return e===null?null:e?"valid":"invalid"}const Tw=e=>"id"in e&&"source"in e&&"target"in e,zT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Io=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},AT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?ec(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Vo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,ec(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Go(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=jo(f,ta(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},MT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function jT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function OT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=jT(e,u),d=Vo(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function zw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&na(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=na(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function DT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=MT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const ea=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:ea(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:ea(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Aw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Kx=(e,n,i)=>ei?-ea(Math.abs(e-i),1,n)/n:0,Mw=(e,n,i=15,l=40)=>{const o=Kx(e.x,l,n.width-l)*i,s=Kx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ta=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},ec=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},jw=(e,n)=>gc(mc(kp(e),kp(n))),jo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Jx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),RT=(e,n)=>{},Yo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Go=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Yo(f,u):f},tc=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Ll(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function LT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Ll(e,i),o=Ll(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Ll(e.top??e.y??0,i),o=Ll(e.bottom??e.y??0,i),s=Ll(e.left??e.x??0,n),u=Ll(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function HT(e,n,i,l,o,s){const{x:u,y:f}=tc(e,[n,i,l]),{x:d,y:h}=tc({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=LT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=ea(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=HT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},Oo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function na(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Ow(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Dw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Wx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function BT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function qT(e){return{...Nw,...e||{}}}function vo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Go({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Yo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Rw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},UT=["INPUT","SELECT","TEXTAREA"];function Lw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:UT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Hw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Hw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},ev=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Tu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function tv({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Tu(n-l,s),i];case we.Right:return[n+Tu(l-n,s),i];case we.Top:return[n,i-Tu(i-o,s)];case we.Bottom:return[n,i+Tu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=tv({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=tv({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Bw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function qw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const YT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,GT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),$T=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||YT;let o;return Tw(e)?o={...e}:o={...e,id:l(e)},GT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Uw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=qw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const nv={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},XT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function PT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=nv[n],d=nv[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=XT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=qw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function FT(e,n,i,l){const o=Math.min(rv(e,n)/2,rv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function ZT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Iw=1e3,KT=10,lm={nodeOrigin:[0,0],nodeExtent:Ao,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},JT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function WT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Io(o,l.nodeOrigin),u=na(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function ez(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(JT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?Iw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Io(p,o.nodeOrigin),w=na(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:ez(p,y),z:Vw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function tz(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}tz(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*KT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?Iw:0,{x:y,y:v,z:w}=nz(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Vw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function nz(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Io(e,i),m=na(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Aw(p,d,n));const y=Vw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ta(d),m=jw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function iz({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function ov(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Yw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;ov("source",d,m,e,o,u),ov("target",d,h,e,s,f),n.set(l.id,l)}}function Gw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Gw(i,n):!1}function sv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function lz(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Gw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function az({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Yo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function oz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Vo(f)):null,K=Y&&$?az({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Yo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=zw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=Mw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=vo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=lz(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=sw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=vo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=vo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!sv(ee,`.${z}`,T))&&(!_||sv(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function sz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())jo(o,ta(s))>0&&l.push(s);return l}const uz=250;function cz(e,n,i,l){var f,d;let o=[],s=1/0;const u=sz(e,i,n+uz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function $w(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Xw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function fz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Pw=()=>!0;function dz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=Pw,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Rw(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Xw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=$w(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=Mw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Zx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=cz(Go(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Fw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=fz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?tc({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Zx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Fw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Pw,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Xw(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Wl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=$w(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:dz,isValid:Fw};function hz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&Oo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=_w().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Vl=(e,n)=>e.target.closest(`.${n}`),Qw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),pz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=pz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Zw=e=>{const n=e.ctrlKey&&Oo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function mz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Vl(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Zw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!Oo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function gz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Vl(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function yz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function xz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Qw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function vz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Qw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function bz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Vl(p,`${h}-flow__node`)||Vl(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Vl(p,f)&&w||Vl(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function wz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=_w().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:ea(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Zw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?mz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):gz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=yz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=xz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=vz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=bz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?Sw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var ra;(function(e){e.Line="line",e.Handle="handle"})(ra||(ra={}));function Sz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function uv(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function zu(e,n,i){return Math.max(0,n-e,e-i)}function cv(e,n){return e?!n:n}function _z(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=zu(X,k,S),G=zu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=zu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=zu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(cv(d,h)?-M:M)/q:M=(cv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Kw={width:0,height:0,x:0,y:0},Ez={...Kw,pointerX:0,pointerY:0,aspectRatio:1};function Nz(e){return[[0,0],[e.measured.width,e.measured.height]]}function kz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function Cz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:uv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Kw},z={...Ez};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:uv(h)};let _,T=null,B=[],A,q,M,R=!1;const X=sw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=vo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?Nz(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=kz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=vo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=_z(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** * @license React * use-sync-external-store-shim.production.js * @@ -277,7 +273,7 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cv;function kz(){if(cv)return ih;cv=1;var e=Lo();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var fv;function Cz(){return fv||(fv=1,rh.exports=kz()),rh.exports}/** + */var fv;function Tz(){if(fv)return ih;fv=1;var e=Ho();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var dv;function zz(){return dv||(dv=1,rh.exports=Tz()),rh.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -285,26 +281,26 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var dv;function Tz(){if(dv)return nh;dv=1;var e=Lo(),n=Cz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var hv;function zz(){return hv||(hv=1,th.exports=Tz()),th.exports}var Az=zz();const Mz=Ro(Az),jz={},pv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(jz?"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()}},h=n=e(l,o,d);return d},Oz=e=>e?pv(e):pv,{useDebugValue:Dz}=ql,{useSyncExternalStoreWithSelector:Rz}=Mz,Lz=e=>e;function Kw(e,n=Lz,i){const l=Rz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Dz(l),l}const mv=(e,n)=>{const i=Oz(e),l=(o,s=n)=>Kw(i,o,s);return Object.assign(l,i),l},Hz=(e,n)=>e?mv(e,n):mv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Bz=Sb();const xc=V.createContext(null),qz=xc.Provider,Jw=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Jw);return Kw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Jw);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const gv={display:"none"},Uz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ww="react-flow__node-desc",eS="react-flow__edge-desc",Iz="react-flow__aria-live",Vz=e=>e.ariaLiveMessage,Yz=e=>e.ariaLabelConfig;function Gz({rfId:e}){const n=Ie(Vz);return b.jsx("div",{id:`${Iz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Uz,children:n})}function $z({rfId:e,disableKeyboardA11y:n}){const i=Ie(Yz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Ww}-${e}`,style:gv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${eS}-${e}`,style:gv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Gz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Xz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Pz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Au=e=>e.id;function Fz(e,n){return dt(e.selectedNodes.map(Au),n.selectedNodes.map(Au))&&dt(e.selectedEdges.map(Au),n.selectedEdges.map(Au))}function Qz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Pz,Fz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Zz=e=>!!e.onSelectionChangeHandlers;function Kz({onSelectionChange:e}){const n=Ie(Zz);return e||n?b.jsx(Qz,{onSelectionChange:e}):null}const tS=[0,0],Jz={x:0,y:0,zoom:1},Wz=["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"],yv=[...Wz,"rfId"],eA=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),xv={translateExtent:zo,nodeOrigin:tS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function tA(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(eA,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=xv,f()}),[]);const m=V.useRef(xv);return V.useEffect(()=>{for(const p of yv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:HT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},yv.map(p=>e[p])),null}function vv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function nA(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=vv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=vv())!=null&&l.matches?"dark":"light"}const bv=typeof document<"u"?document:null;function Oo(e=null,n={target:bv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` + */var hv;function Az(){if(hv)return nh;hv=1;var e=Ho(),n=zz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var pv;function Mz(){return pv||(pv=1,th.exports=Az()),th.exports}var jz=Mz();const Oz=Lo(jz),Dz={},mv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Dz?"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()}},h=n=e(l,o,d);return d},Rz=e=>e?mv(e):mv,{useDebugValue:Lz}=Ul,{useSyncExternalStoreWithSelector:Hz}=Oz,Bz=e=>e;function Jw(e,n=Bz,i){const l=Hz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Lz(l),l}const gv=(e,n)=>{const i=Rz(e),l=(o,s=n)=>Jw(i,o,s);return Object.assign(l,i),l},qz=(e,n)=>e?gv(e,n):gv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Uz=_b();const xc=V.createContext(null),Iz=xc.Provider,Ww=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Ww);return Jw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Ww);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const yv={display:"none"},Vz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},eS="react-flow__node-desc",tS="react-flow__edge-desc",Yz="react-flow__aria-live",Gz=e=>e.ariaLiveMessage,$z=e=>e.ariaLabelConfig;function Xz({rfId:e}){const n=Ie(Gz);return b.jsx("div",{id:`${Yz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Vz,children:n})}function Pz({rfId:e,disableKeyboardA11y:n}){const i=Ie($z);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${eS}-${e}`,style:yv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${tS}-${e}`,style:yv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Xz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Fz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Qz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Au=e=>e.id;function Zz(e,n){return dt(e.selectedNodes.map(Au),n.selectedNodes.map(Au))&&dt(e.selectedEdges.map(Au),n.selectedEdges.map(Au))}function Kz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Qz,Zz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Jz=e=>!!e.onSelectionChangeHandlers;function Wz({onSelectionChange:e}){const n=Ie(Jz);return e||n?b.jsx(Kz,{onSelectionChange:e}):null}const nS=[0,0],eA={x:0,y:0,zoom:1},tA=["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"],xv=[...tA,"rfId"],nA=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),vv={translateExtent:Ao,nodeOrigin:nS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function rA(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(nA,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=vv,f()}),[]);const m=V.useRef(vv);return V.useEffect(()=>{for(const p of xv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:qT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},xv.map(p=>e[p])),null}function bv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function iA(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=bv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=bv())!=null&&l.matches?"dark":"light"}const wv=typeof document<"u"?document:null;function Do(e=null,n={target:wv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` `).replace(` `,` +`).split(` -`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??bv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Rw(v))return!1;const k=Sv(v.code,f);if(s.current.add(v[k]),wv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=Sv(v.code,f);wv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function wv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function Sv(e,n){return n.includes(e)?"code":"key"}const rA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Go(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=tc(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function nS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)iA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function iA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function rS(e,n){return nS(e,n)}function iS(e,n){return nS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function _v({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Ev(e){return{id:e.id,type:"remove"}}const Nv=e=>CT(e),lA=e=>Cw(e);function lS(e){return V.forwardRef(e)}const aA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function kv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>oA(()=>i(o=>o+BigInt(1))));return aA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function oA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const aS=V.createContext(null);function sA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=_v({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=kv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(_v({items:v,lookup:y}))},[]),s=kv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(aS.Provider,{value:u,children:e})}function uA(){const e=V.useContext(aS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const cA=e=>!!e.panZoom;function $o(){const e=rA(),n=ht(),i=uA(),l=Ie(cA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Nv(p)?p:y.get(p.id),k=w.parentId?Ow(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&Nv(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&lA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await jT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(Ev);S==null||S(A),z(R)}if(M){const R=B.map(Ev);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Kx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),T=Mo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Kx(p)?p:d(p);if(!k)return!1;const S=Mo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return TT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??LT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Cv=e=>e.selected,fA=typeof window<"u"?window:void 0;function dA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=$o(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:fA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Cv),edges:u.filter(Cv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function hA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},pA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function mA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(pA,dt),X=Oo(y),H=V.useRef();hA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=vz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const gA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function yA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(gA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},xA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function vA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(xA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Jx(pe,q.current)){const Ce=Vl(U,q.current,!0);Y(Ce)}if(!Jx(_e,M.current)){const Ce=Vl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(yA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function oS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=lz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const bA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function sS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=bA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Yo(z,s));const{position:_,positionAbsolute:T}=Tw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),wA=cm.Provider;cm.Consumer;const uS=()=>V.useContext(cm),SA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),_A=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function EA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=uS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(SA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(_A(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(YT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Lw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Dw($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(lS(EA));function NA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function kA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function CA(){return null}function TA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const nc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Tv={input:NA,default:kA,output:TA,group:CA};function zA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const AA=e=>{const{width:n,height:i,x:l,y:o}=Vo(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function MA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(AA,dt),d=sS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(oS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(nc,v.key)&&(v.preventDefault(),d({direction:nc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const zv=typeof window<"u"?window:void 0,jA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function cS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(jA,dt),P=Oo(h,{target:zv}),N=Oo(k,{target:zv}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return dA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(mA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(vA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(MA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}cS.displayName="FlowRenderer";const OA=V.memo(cS),DA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function RA(e){return Ie(V.useCallback(DA(e),[e]),dt)}const LA=e=>e.updateNodeInternals;function HA(){const e=Ie(LA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function BA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function qA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||Tv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||Tv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=jw(_),L=BA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=oS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=sS();if(_.hidden)return null;const $=Ar(_),Z=zA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Rw(re.nativeEvent)||w)){if(_w.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(nc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:nc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Ww}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(wA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var UA=V.memo(qA);const IA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function fS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(IA,dt),u=RA(e.onlyRenderVisibleElements),f=HA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(UA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}fS.displayName="NodeRenderer";const VA=V.memo(fS);function YA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&UT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const GA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},$A=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Av={[Wu.Arrow]:GA,[Wu.ArrowClosed]:$A};function XA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Av,e)?Av[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const PA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=XA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},dS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>FT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(PA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};dS.displayName="MarkerDefinitions";var FA=V.memo(dS);function hS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}hS.displayName="EdgeText";const QA=V.memo(hS);function Xo({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx(QA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Mv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function pS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Mv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Mv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function mS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=pS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(Xo,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const ZA=mS({isInternal:!1}),gS=mS({isInternal:!0});ZA.displayName="SimpleBezierEdge";gS.displayName="SimpleBezierEdgeInternal";function yS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const xS=yS({isInternal:!1}),vS=yS({isInternal:!0});xS.displayName="SmoothStepEdge";vS.displayName="SmoothStepEdgeInternal";function bS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(xS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const KA=bS({isInternal:!1}),wS=bS({isInternal:!0});KA.displayName="StepEdge";wS.displayName="StepEdgeInternal";function SS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=qw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx(Xo,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const JA=SS({isInternal:!1}),_S=SS({isInternal:!0});JA.displayName="StraightEdge";_S.displayName="StraightEdgeInternal";function ES(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const WA=ES({isInternal:!1}),NS=ES({isInternal:!0});WA.displayName="BezierEdge";NS.displayName="BezierEdgeInternal";const jv={default:NS,straight:_S,step:wS,smoothstep:vS,simplebezier:gS},Ov={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},eM=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,tM=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Dv="react-flow__edgeupdater";function Rv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Dv,`${Dv}-${f}`]),cx:eM(n,l,e),cy:tM(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function nM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Rv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Rv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function rM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||jv[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||jv.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...Ov};const Me=PT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:qT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||Ov}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&_w.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${eS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(nM,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var iM=V.memo(rM);const lM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function kS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(lM,dt),T=YA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(FA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(iM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}kS.displayName="EdgeRenderer";const aM=V.memo(kS),oM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function sM({children:e}){const n=Ie(oM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function uM(e){const n=$o(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const cM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function fM(e){const n=Ie(cM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function dM(e){return e.connection.inProgress?{...e.connection,to:Go(e.connection.to,e.transform)}:{...e.connection}}function hM(e){return dM}function pM(e){const n=hM();return Ie(n,dt)}const mM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function gM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(mM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",kw(f)]),children:b.jsx(CS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const CS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=pM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:kw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=pS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=qw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};CS.displayName="ConnectionLine";const yM={};function Lv(e=yM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function xM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function TS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Lv(e),Lv(n),xM(),uM(i),fM(ue),b.jsx(OA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(sM,{children:[b.jsx(aM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(gM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(VA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}TS.displayName="GraphView";const vM=V.memo(TS),Hv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??zo;Vw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Vo(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Nw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:OT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ew,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},bM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Hz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await MT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Hv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Vw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=tz(S,z,_,T,B,A,R);H&&(KT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=rS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=iS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Vl(z,new Set([...S]))),T(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return nz({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Nw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Hv()})}},Object.is);function wM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>bM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(qz,{value:w,children:b.jsx(sA,{children:v})})}function SM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(wM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const _M={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function EM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:xe=jo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=tS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=Jz,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Qo,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Wo=10,onNodesChange:es,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:ts,connectOnClick:Cc,attributionPosition:ns,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,connectionRadius:is,isValidConnection:ar,onError:Lr,style:Tc,id:fa,nodeDragThreshold:ls,connectionDragThreshold:zc,viewport:el,onViewportChange:tl,width:On,height:Pt,colorMode:as="light",debug:Ac,onScroll:Hr,ariaLabelConfig:os,zIndexMode:gi="basic",...Mc},Ft){const yi=fa||"1",ss=nA(as),da=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:da,style:{...Tc,..._M},ref:Ft,className:Tt(["react-flow",o,ss]),id:fa,role:"application",children:b.jsxs(SM,{nodes:e,edges:n,width:On,height:Pt,fitView:Wi,fitViewOptions:ts,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(vM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Wo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(tA,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:es,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:ts,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,onError:Lr,connectionRadius:is,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:ls,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:os,zIndexMode:gi}),b.jsx(Kz,{onSelectionChange:ee}),Qo,b.jsx(Xz,{proOptions:mi,position:ns}),b.jsx($z,{rfId:yi,disableKeyboardA11y:Dr})]})})}var NM=lS(EM);const kM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function CM({children:e}){const n=Ie(kM);return n?Bz.createPortal(e,n):null}function TM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function zM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>iS(o,s)),[]);return[n,i,l]}function AM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function MM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const jM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},OM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function zS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(OM,dt),w=l||jM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(MM,{radius:_/2,className:m}):b.jsx(AM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}zS.displayName="Background";const DM=V.memo(zS);function RM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function LM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function HM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 BM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 qM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Mu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const UM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function AS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(UM,dt),{zoomIn:_,zoomOut:T,fitView:B}=$o(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Mu,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(RM,{})}),b.jsx(Mu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(LM,{})})]}),i&&b.jsx(Mu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(HM,{})}),l&&b.jsx(Mu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(qM,{}):b.jsx(BM,{})}),m]})}AS.displayName="Controls";const IM=V.memo(AS);function VM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const YM=V.memo(VM),GM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function $M({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=YM,onClick:u}){const f=Ie(GM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(PM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function XM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!jw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const PM=V.memo(XM);var FM=V.memo($M);const QM=200,ZM=150,KM=e=>!e.hidden,JM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Mw(Vo(e.nodeLookup,{filter:KM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},WM="react-flow__minimap-desc";function MS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(JM,dt),G=(e==null?void 0:e.width)??QM,D=(e==null?void 0:e.height)??ZM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${WM}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=fz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(FM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}MS.displayName="MiniMap";const ej=V.memo(MS),tj=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,nj={[na.Line]:"right",[na.Handle]:"bottom-right"};function rj({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=uS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===na.Handle,q=Ie(V.useCallback(tj(A&&v),[A,v]),dt),M=V.useRef(null),R=n??nj[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=Nz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...Ow({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(rj);var oh,Bv;function fm(){if(Bv)return oh;Bv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,qv;function ij(){return qv||(qv=1,sh="2.2.4"),sh}var uh,Uv;function lj(){return Uv||(Uv=1,uh={Graph:fm(),version:ij()}),uh}var ch,Iv;function aj(){if(Iv)return ch;Iv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Vv;function oj(){if(Vv)return fh;Vv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Yv;function jS(){if(Yv)return dh;Yv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,$v;function sj(){if($v)return ph;$v=1;var e=OS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,Xv;function DS(){if(Xv)return mh;Xv=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Pv;function uj(){if(Pv)return gh;Pv=1;var e=DS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Fv;function cj(){if(Fv)return yh;Fv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Jv;function dj(){if(Jv)return wh;Jv=1;var e=LS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,Wv;function hj(){if(Wv)return Sh;Wv=1;var e=LS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,e1;function pj(){if(e1)return _h;e1=1;var e=fm(),n=jS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,t1;function mj(){return t1||(t1=1,Eh={components:oj(),dijkstra:OS(),dijkstraAll:sj(),findCycles:uj(),floydWarshall:cj(),isAcyclic:fj(),postorder:dj(),preorder:hj(),prim:pj(),tarjan:DS(),topsort:RS()}),Eh}var Nh,n1;function Vn(){if(n1)return Nh;n1=1;var e=lj();return Nh={Graph:e.Graph,json:aj(),alg:mj(),version:e.version},Nh}var kh,r1;function gj(){if(r1)return kh;r1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,i1;function yj(){if(i1)return Ch;i1=1;let e=Vn().Graph,n=gj();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,a1;function xj(){if(a1)return zh;a1=1;let e=yj(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,o1;function vj(){if(o1)return Ah;o1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,s1;function rc(){if(s1)return Mh;s1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,u1;function HS(){if(u1)return jh;u1=1;var e=Vn().Graph,n=rc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,c1;function bj(){if(c1)return Oh;c1=1;var e=HS(),n=rc().slack,i=rc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,f1;function wj(){if(f1)return Dh;f1=1;var e=rc(),n=e.longestPath,i=HS(),l=bj();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,d1;function Sj(){if(d1)return Rh;d1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,h1;function _j(){if(h1)return Lh;h1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,p1;function Ej(){if(p1)return Hh;p1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,g1;function kj(){if(g1)return qh;g1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,y1;function Cj(){if(y1)return Uh;y1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,x1;function Tj(){if(x1)return Ih;x1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,v1;function zj(){if(v1)return Vh;v1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,b1;function Aj(){if(b1)return Yh;b1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,w1;function Mj(){if(w1)return Gh;w1=1;let e=Tj(),n=zj(),i=Aj();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,S1;function jj(){if(S1)return $h;S1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,_1;function Oj(){if(_1)return Xh;_1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,E1;function Dj(){if(E1)return Ph;E1=1;let e=kj(),n=Cj(),i=Mj(),l=jj(),o=Oj(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,N1;function Rj(){if(N1)return Fh;N1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,k1;function Lj(){if(k1)return Qh;k1=1;let e=Ct(),n=Rj().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,C1;function Hj(){if(C1)return Zh;C1=1;let e=xj(),n=vj(),i=wj(),l=Ct().normalizeRanks,o=Sj(),s=Ct().removeEmptyRanks,u=_j(),f=Ej(),d=Nj(),h=Dj(),m=Lj(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,T1;function Bj(){if(T1)return Kh;T1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,z1;function qj(){return z1||(z1=1,Jh="1.1.8"),Jh}var Wh,A1;function Uj(){return A1||(A1=1,Wh={graphlib:Vn(),layout:Hj(),debug:Bj(),util:{time:Ct().time,notime:Ct().notime},version:qj()}),Wh}var Ij=Uj();const M1=Ro(Ij),go=200,Yl=56,j1=20,O1=40,Vj=20,D1=12;function Yj(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+j1*2,E=O1+k*Yl+(k-1)*D1+Vj;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return Gj(f,d),{nodes:f,edges:d}}function Gj(e,n){var l,o,s,u;const i=new M1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);M1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const $j=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=Xj(i,u),z=Pj(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Ql(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(V2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Xj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Pj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Fj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=Qj(i,u),v=Zj(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(lN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Qj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Zj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Kj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=Jj(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(iN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Jj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Wj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?tN:K2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=e4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function e4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const t4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(kb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),n4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),r4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(Xo,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(CM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function i4(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(aN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(F2,{className:"w-3 h-3"}),"View"]})]})})}function l4(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Tb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(G2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(Bo,{className:"w-3.5 h-3.5"})})]})})}const a4={agentNode:$j,scriptNode:Fj,gateNode:Kj,groupNode:Wj,endNode:t4,startNode:n4},o4={animatedEdge:r4},s4={type:"animatedEdge"};function u4(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function c4(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=TM([]),[k,S,E]=zM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=Yj(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(u4,{}),b.jsx(i4,{}),b.jsx(l4,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(uN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(NM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:a4,edgeTypes:o4,defaultEdgeOptions:s4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(DM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(ej,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(IM,{showInteractive:!1,children:b.jsx(f4,{})}),b.jsx(d4,{})]})]})}function f4(){const{fitView:e}=$o(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(W2,{className:"w-3.5 h-3.5"})})}function d4(){const{fitView:e}=$o();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function BS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=Cb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Nb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(h4,{text:d}):d})]})}function h4({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(p4,{entry:s},u))})]})}function p4({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function m4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(R1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:BS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(R1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function R1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:g4(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:BS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function g4(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function y4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` +`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??wv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Lw(v))return!1;const k=_v(v.code,f);if(s.current.add(v[k]),Sv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=_v(v.code,f);Sv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function Sv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function _v(e,n){return n.includes(e)?"code":"key"}const lA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Go(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=tc(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function rS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)aA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function aA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function iS(e,n){return rS(e,n)}function lS(e,n){return rS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Yl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Ev({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Nv(e){return{id:e.id,type:"remove"}}const kv=e=>zT(e),oA=e=>Tw(e);function aS(e){return V.forwardRef(e)}const sA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Cv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>uA(()=>i(o=>o+BigInt(1))));return sA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function uA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const oS=V.createContext(null);function cA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Ev({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Cv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Ev({items:v,lookup:y}))},[]),s=Cv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(oS.Provider,{value:u,children:e})}function fA(){const e=V.useContext(oS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const dA=e=>!!e.panZoom;function $o(){const e=lA(),n=ht(),i=fA(),l=Ie(dA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=kv(p)?p:y.get(p.id),k=w.parentId?Dw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ta(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&kv(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&oA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await DT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(Nv);S==null||S(A),z(R)}if(M){const R=B.map(Nv);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Jx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ta(S?E:z),T=jo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Jx(p)?p:d(p);if(!k)return!1;const S=jo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return AT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??BT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Tv=e=>e.selected,hA=typeof window<"u"?window:void 0;function pA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=$o(),o=Do(e,{actInsideInputWithModifier:!1}),s=Do(n,{target:hA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Tv),edges:u.filter(Tv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function mA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},gA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function yA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(gA,dt),X=Do(y),H=V.useRef();mA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=wz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const xA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function vA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(xA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},bA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function wA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Mo.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(bA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Wx(pe,q.current)){const Ce=Yl(U,q.current,!0);Y(Ce)}if(!Wx(_e,M.current)){const Ce=Yl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(vA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function sS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=oz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const SA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function uS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=SA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Yo(z,s));const{position:_,positionAbsolute:T}=zw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),_A=cm.Provider;cm.Consumer;const cS=()=>V.useContext(cm),EA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),NA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Wl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function kA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=cS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(EA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(NA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N($T(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Hw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Rw($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(aS(kA));function CA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function TA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function zA(){return null}function AA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const nc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},zv={input:CA,default:TA,output:AA,group:zA};function MA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const jA=e=>{const{width:n,height:i,x:l,y:o}=Vo(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function OA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(jA,dt),d=uS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(sS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(nc,v.key)&&(v.preventDefault(),d({direction:nc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Av=typeof window<"u"?window:void 0,DA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function fS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(DA,dt),P=Do(h,{target:Av}),N=Do(k,{target:Av}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return pA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(yA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(wA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(OA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}fS.displayName="FlowRenderer";const RA=V.memo(fS),LA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function HA(e){return Ie(V.useCallback(LA(e),[e]),dt)}const BA=e=>e.updateNodeInternals;function qA(){const e=Ie(BA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function UA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function IA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||zv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||zv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Ow(_),L=UA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=sS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=uS();if(_.hidden)return null;const $=Ar(_),Z=MA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Lw(re.nativeEvent)||w)){if(Ew.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(nc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:nc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${eS}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(_A,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var VA=V.memo(IA);const YA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function dS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(YA,dt),u=HA(e.onlyRenderVisibleElements),f=qA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(VA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}dS.displayName="NodeRenderer";const GA=V.memo(dS);function $A(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&VT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const XA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},PA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Mv={[Wu.Arrow]:XA,[Wu.ArrowClosed]:PA};function FA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Mv,e)?Mv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const QA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=FA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},hS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>ZT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(QA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};hS.displayName="MarkerDefinitions";var ZA=V.memo(hS);function pS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}pS.displayName="EdgeText";const KA=V.memo(pS);function Xo({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx(KA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function jv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function mS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=jv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=jv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Bw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=mS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(Xo,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const JA=gS({isInternal:!1}),yS=gS({isInternal:!0});JA.displayName="SimpleBezierEdge";yS.displayName="SimpleBezierEdgeInternal";function xS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const vS=xS({isInternal:!1}),bS=xS({isInternal:!0});vS.displayName="SmoothStepEdge";bS.displayName="SmoothStepEdgeInternal";function wS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(vS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const WA=wS({isInternal:!1}),SS=wS({isInternal:!0});WA.displayName="StepEdge";SS.displayName="StepEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Uw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx(Xo,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const eM=_S({isInternal:!1}),ES=_S({isInternal:!0});eM.displayName="StraightEdge";ES.displayName="StraightEdgeInternal";function NS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const tM=NS({isInternal:!1}),kS=NS({isInternal:!0});tM.displayName="BezierEdge";kS.displayName="BezierEdgeInternal";const Ov={default:kS,straight:ES,step:SS,smoothstep:bS,simplebezier:yS},Dv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},nM=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,rM=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Rv="react-flow__edgeupdater";function Lv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Rv,`${Rv}-${f}`]),cx:nM(n,l,e),cy:rM(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function iM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Lv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Lv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function lM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||Ov[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||Ov.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...Dv};const Me=QT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:IT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||Dv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Ew.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${tS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(iM,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var aM=V.memo(lM);const oM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function CS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(oM,dt),T=$A(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(ZA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(aM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}CS.displayName="EdgeRenderer";const sM=V.memo(CS),uM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function cM({children:e}){const n=Ie(uM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function fM(e){const n=$o(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const dM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function hM(e){const n=Ie(dM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function pM(e){return e.connection.inProgress?{...e.connection,to:Go(e.connection.to,e.transform)}:{...e.connection}}function mM(e){return pM}function gM(e){const n=mM();return Ie(n,dt)}const yM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function xM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(yM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Cw(f)]),children:b.jsx(TS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const TS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=gM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Cw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=mS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Uw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};TS.displayName="ConnectionLine";const vM={};function Hv(e=vM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function bM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function zS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Hv(e),Hv(n),bM(),fM(i),hM(ue),b.jsx(RA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(cM,{children:[b.jsx(sM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(xM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(GA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}zS.displayName="GraphView";const wM=V.memo(zS),Bv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??Ao;Yw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Vo(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:Ao,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Wl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...kw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:RT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Nw,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},SM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>qz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await OT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Bv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Yw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=rz(S,z,_,T,B,A,R);H&&(WT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=iS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=lS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Yl(_,new Set([...S]),!0)),B(Yl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Yl(z,new Set([...S]))),T(Yl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return iz({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...kw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Bv()})}},Object.is);function _M({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>SM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Iz,{value:w,children:b.jsx(cA,{children:v})})}function EM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(_M,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const NM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function kM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Mo.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=Oo()?"Meta":"Control",zoomActivationKeyCode:xe=Oo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=nS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=eA,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=Ao,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Qo,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo=10,onNodesChange:es,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:el,fitViewOptions:ts,connectOnClick:Cc,attributionPosition:ns,proOptions:mi,defaultEdgeOptions:fa,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,connectionRadius:is,isValidConnection:ar,onError:Lr,style:Tc,id:da,nodeDragThreshold:ls,connectionDragThreshold:zc,viewport:tl,onViewportChange:nl,width:On,height:Pt,colorMode:as="light",debug:Ac,onScroll:Hr,ariaLabelConfig:os,zIndexMode:gi="basic",...Mc},Ft){const yi=da||"1",ss=iA(as),ha=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:ha,style:{...Tc,...NM},ref:Ft,className:Tt(["react-flow",o,ss]),id:da,role:"application",children:b.jsxs(EM,{nodes:e,edges:n,width:On,height:Pt,fitView:el,fitViewOptions:ts,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(wM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:tl,onViewportChange:nl}),b.jsx(rA,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:es,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:fa,fitView:el,fitViewOptions:ts,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,onError:Lr,connectionRadius:is,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:ls,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:os,zIndexMode:gi}),b.jsx(Wz,{onSelectionChange:ee}),Qo,b.jsx(Fz,{proOptions:mi,position:ns}),b.jsx(Pz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var CM=aS(kM);const TM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function zM({children:e}){const n=Ie(TM);return n?Uz.createPortal(e,n):null}function AM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>iS(o,s)),[]);return[n,i,l]}function MM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>lS(o,s)),[]);return[n,i,l]}function jM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function OM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const DM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},RM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function AS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(RM,dt),w=l||DM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(OM,{radius:_/2,className:m}):b.jsx(jM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}AS.displayName="Background";const LM=V.memo(AS);function HM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function BM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function qM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 UM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 IM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Mu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const VM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function MS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(VM,dt),{zoomIn:_,zoomOut:T,fitView:B}=$o(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Mu,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(HM,{})}),b.jsx(Mu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(BM,{})})]}),i&&b.jsx(Mu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(qM,{})}),l&&b.jsx(Mu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(IM,{}):b.jsx(UM,{})}),m]})}MS.displayName="Controls";const YM=V.memo(MS);function GM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const $M=V.memo(GM),XM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function PM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=$M,onClick:u}){const f=Ie(XM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(QM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function FM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!Ow(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const QM=V.memo(FM);var ZM=V.memo(PM);const KM=200,JM=150,WM=e=>!e.hidden,ej=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?jw(Vo(e.nodeLookup,{filter:WM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},tj="react-flow__minimap-desc";function jS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(ej,dt),G=(e==null?void 0:e.width)??KM,D=(e==null?void 0:e.height)??JM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${tj}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=hz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(ZM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}jS.displayName="MiniMap";const nj=V.memo(jS),rj=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,ij={[ra.Line]:"right",[ra.Handle]:"bottom-right"};function lj({nodeId:e,position:n,variant:i=ra.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=cS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===ra.Handle,q=Ie(V.useCallback(rj(A&&v),[A,v]),dt),M=V.useRef(null),R=n??ij[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=Cz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...Dw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(lj);var oh,qv;function fm(){if(qv)return oh;qv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Uv;function aj(){return Uv||(Uv=1,sh="2.2.4"),sh}var uh,Iv;function oj(){return Iv||(Iv=1,uh={Graph:fm(),version:aj()}),uh}var ch,Vv;function sj(){if(Vv)return ch;Vv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Yv;function uj(){if(Yv)return fh;Yv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Gv;function OS(){if(Gv)return dh;Gv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Xv;function cj(){if(Xv)return ph;Xv=1;var e=DS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,Pv;function RS(){if(Pv)return mh;Pv=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Fv;function fj(){if(Fv)return gh;Fv=1;var e=RS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Qv;function dj(){if(Qv)return yh;Qv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Wv;function pj(){if(Wv)return wh;Wv=1;var e=HS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,e1;function mj(){if(e1)return Sh;e1=1;var e=HS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,t1;function gj(){if(t1)return _h;t1=1;var e=fm(),n=OS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,n1;function yj(){return n1||(n1=1,Eh={components:uj(),dijkstra:DS(),dijkstraAll:cj(),findCycles:fj(),floydWarshall:dj(),isAcyclic:hj(),postorder:pj(),preorder:mj(),prim:gj(),tarjan:RS(),topsort:LS()}),Eh}var Nh,r1;function Vn(){if(r1)return Nh;r1=1;var e=oj();return Nh={Graph:e.Graph,json:sj(),alg:yj(),version:e.version},Nh}var kh,i1;function xj(){if(i1)return kh;i1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,l1;function vj(){if(l1)return Ch;l1=1;let e=Vn().Graph,n=xj();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,o1;function bj(){if(o1)return zh;o1=1;let e=vj(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,s1;function wj(){if(s1)return Ah;s1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,u1;function rc(){if(u1)return Mh;u1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,c1;function BS(){if(c1)return jh;c1=1;var e=Vn().Graph,n=rc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,f1;function Sj(){if(f1)return Oh;f1=1;var e=BS(),n=rc().slack,i=rc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,d1;function _j(){if(d1)return Dh;d1=1;var e=rc(),n=e.longestPath,i=BS(),l=Sj();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,h1;function Ej(){if(h1)return Rh;h1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,p1;function Nj(){if(p1)return Lh;p1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,m1;function kj(){if(m1)return Hh;m1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,y1;function Tj(){if(y1)return qh;y1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,x1;function zj(){if(x1)return Uh;x1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,v1;function Aj(){if(v1)return Ih;v1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,b1;function Mj(){if(b1)return Vh;b1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,w1;function jj(){if(w1)return Yh;w1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,S1;function Oj(){if(S1)return Gh;S1=1;let e=Aj(),n=Mj(),i=jj();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,_1;function Dj(){if(_1)return $h;_1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,E1;function Rj(){if(E1)return Xh;E1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,N1;function Lj(){if(N1)return Ph;N1=1;let e=Tj(),n=zj(),i=Oj(),l=Dj(),o=Rj(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,k1;function Hj(){if(k1)return Fh;k1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,C1;function Bj(){if(C1)return Qh;C1=1;let e=Ct(),n=Hj().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,T1;function qj(){if(T1)return Zh;T1=1;let e=bj(),n=wj(),i=_j(),l=Ct().normalizeRanks,o=Ej(),s=Ct().removeEmptyRanks,u=Nj(),f=kj(),d=Cj(),h=Lj(),m=Bj(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,z1;function Uj(){if(z1)return Kh;z1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,A1;function Ij(){return A1||(A1=1,Jh="1.1.8"),Jh}var Wh,M1;function Vj(){return M1||(M1=1,Wh={graphlib:Vn(),layout:qj(),debug:Uj(),util:{time:Ct().time,notime:Ct().notime},version:Ij()}),Wh}var Yj=Vj();const j1=Lo(Yj),yo=200,Gl=56,O1=20,D1=40,Gj=20,R1=12;function $j(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=yo+O1*2,E=D1+k*Gl+(k-1)*R1+Gj;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return Xj(f,d),{nodes:f,edges:d}}function Xj(e,n){var l,o,s,u;const i=new j1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||yo,m=d&&((o=f.style)==null?void 0:o.height)||Gl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);j1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||yo,p=h&&((u=f.style)==null?void 0:u.height)||Gl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Zl(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const Pj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=Fj(i,u),z=Qj(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Zl(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(Y2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Fj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Qj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Zj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=Kj(i,u),v=Jj(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(aN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Kj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Jj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Wj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=e4(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(lN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function e4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const t4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?nN:J2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=n4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function n4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const r4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Cb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),i4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),l4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(Xo,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(zM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function a4(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(oN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(Q2,{className:"w-3 h-3"}),"View"]})]})})}function o4(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=zb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx($2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Zl(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(Bo,{className:"w-3.5 h-3.5"})})]})})}const s4={agentNode:Pj,scriptNode:Zj,gateNode:Wj,groupNode:t4,endNode:r4,startNode:i4},u4={animatedEdge:l4},c4={type:"animatedEdge"};function f4(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function d4(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=AM([]),[k,S,E]=MM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=$j(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(f4,{}),b.jsx(a4,{}),b.jsx(o4,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(cN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(_o,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(CM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:s4,edgeTypes:u4,defaultEdgeOptions:c4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(LM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(nj,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(YM,{showInteractive:!1,children:b.jsx(h4,{})}),b.jsx(p4,{})]})]})}function h4(){const{fitView:e}=$o(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(eN,{className:"w-3.5 h-3.5"})})}function p4(){const{fitView:e}=$o();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function la({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function qS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Zl(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=Tb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(kb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(m4,{text:d}):d})]})}function m4({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(g4,{entry:s},u))})]})}function g4({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function y4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(L1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(la,{items:qS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(L1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function L1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(Fi,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:x4(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(la,{items:qS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function x4(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function v4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` --- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Pi,{output:o,title:"Output"})]})}function x4(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const v4=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,b4=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,w4={};function L1(e,n){return(w4.jsx?b4:v4).test(e)}const S4=/[ \t\n\f\r]/g;function _4(e){return typeof e=="object"?e.type==="text"?H1(e.value):!1:H1(e)}function H1(e){return e.replace(S4,"")===""}class Po{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Po.prototype.normal={};Po.prototype.property={};Po.prototype.space=void 0;function qS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Po(i,l,n)}function jp(e){return e.toLowerCase()}class on{constructor(n,i){this.attribute=i,this.property=n}}on.prototype.attribute="";on.prototype.booleanish=!1;on.prototype.boolean=!1;on.prototype.commaOrSpaceSeparated=!1;on.prototype.commaSeparated=!1;on.prototype.defined=!1;on.prototype.mustUseProperty=!1;on.prototype.number=!1;on.prototype.overloadedBoolean=!1;on.prototype.property="";on.prototype.spaceSeparated=!1;on.prototype.space=void 0;let E4=0;const Oe=Fi(),kt=Fi(),Op=Fi(),me=Fi(),at=Fi(),Pl=Fi(),gn=Fi();function Fi(){return 2**++E4}const Dp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:gn,commaSeparated:Pl,number:me,overloadedBoolean:Op,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),ep=Object.keys(Dp);class pm extends on{constructor(n,i,l,o){let s=-1;if(super(n,i),B1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&z4.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(q1,j4);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!q1.test(s)){let u=s.replace(T4,M4);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function M4(e){return"-"+e.toLowerCase()}function j4(e){return e.charAt(1).toUpperCase()}const O4=qS([US,N4,YS,GS,$S],"html"),mm=qS([US,k4,YS,GS,$S],"svg");function D4(e){return e.join(" ").trim()}var Ll={},tp,U1;function R4(){if(U1)return tp;U1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var I1;function L4(){if(I1)return Ll;I1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(R4());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},V1;function H4(){if(V1)return ao;V1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,Y1;function B4(){if(Y1)return oo;Y1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(L4()),i=H4();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var q4=B4();const U4=Ro(q4),XS=PS("end"),gm=PS("start");function PS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function I4(e){const n=gm(e),i=XS(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?G1(e.position):"start"in e||"end"in e?G1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return $1(e&&e.line)+":"+$1(e&&e.column)}function G1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function $1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,V4=new Map,Y4=/[A-Z]/g,G4=new Set(["table","tbody","thead","tfoot","tr"]),$4=new Set(["td","th"]),FS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function X4(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=e5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=W4(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:O4,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=QS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function QS(e,n,i){if(n.type==="element")return P4(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return F4(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return Z4(e,n,i);if(n.type==="mdxjsEsm")return Q4(e,n);if(n.type==="root")return K4(e,n,i);if(n.type==="text")return J4(e,n)}function P4(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=KS(e,n.tagName,!1),u=t5(e,n);let f=vm(e,n);return G4.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!_4(d):!0})),ZS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function F4(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function Q4(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function Z4(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:KS(e,n.name,!0),u=n5(e,n),f=vm(e,n);return ZS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function K4(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function J4(e,n){return n.value}function ZS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function W4(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function e5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function t5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=r5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&$4.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function n5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:V4;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const F1={}.hasOwnProperty;function f5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Fl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),p5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),m5=di(/[\dA-Fa-f]/),g5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const y5=di(new RegExp("\\p{P}|\\p{S}","u")),x5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function _5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Z1(e){if(e===null||rn(e)||x5(e))return 1;if(y5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};K1(p,-d),K1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(J1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Qe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Qe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function R5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:H5},L5={partial:!0,tokenize:B5};function H5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(L5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function B5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const q5={name:"codeText",previous:I5,resolve:U5,tokenize:V5};function U5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function i_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function a_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const Z5={name:"definition",tokenize:J5},K5={partial:!0,tokenize:W5};function J5(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return l_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Fl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return i_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(K5,p,p)(v)}function p(v){return Qe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function W5(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return a_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const eO={name:"hardBreakEscape",tokenize:tO};function tO(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const nO={name:"headingAtx",resolve:rO,tokenize:iO};function rO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function iO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Qe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const lO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],eb=["pre","script","style","textarea"],aO={concrete:!0,name:"htmlFlow",resolveTo:uO,tokenize:cO},oO={partial:!0,tokenize:dO},sO={partial:!0,tokenize:fO};function uO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function cO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&eb.includes(F)?(o=1,l.interrupt?n(N):I(N)):lO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Qe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Qe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Qe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Qe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Qe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Qe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(oO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(sO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return eb.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function fO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function dO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const hO={name:"htmlText",tokenize:pO};function pO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Qe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Qe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:xO,resolveTo:vO,tokenize:bO},mO={tokenize:wO},gO={tokenize:SO},yO={tokenize:_O};function xO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:OO},exit:RO,name:"list",tokenize:jO},AO={partial:!0,tokenize:LO},MO={partial:!0,tokenize:DO};function jO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Vu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(AO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function OO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(MO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function DO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function RO(e){e.exit(this.containerState.type)}function LO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const tb={name:"setextUnderline",resolveTo:HO,tokenize:BO};function HO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function BO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const qO={tokenize:UO};function UO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt($5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const IO={resolveAll:s_()},VO=o_("string"),YO=o_("text");function o_(e){return{resolveAll:s_(e==="text"?GO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function rD(e,n){let i=-1;const l=[];let o;for(;++i4&&i.slice(0,4)==="data"&&M4.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(U1,D4);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!U1.test(s)){let u=s.replace(A4,O4);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function O4(e){return"-"+e.toLowerCase()}function D4(e){return e.charAt(1).toUpperCase()}const R4=US([IS,C4,GS,$S,XS],"html"),mm=US([IS,T4,GS,$S,XS],"svg");function L4(e){return e.join(" ").trim()}var Hl={},tp,I1;function H4(){if(I1)return tp;I1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var V1;function B4(){if(V1)return Hl;V1=1;var e=Hl&&Hl.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Hl,"__esModule",{value:!0}),Hl.default=i;const n=e(H4());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Hl}var oo={},Y1;function q4(){if(Y1)return oo;Y1=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return oo.camelCase=d,oo}var so,G1;function U4(){if(G1)return so;G1=1;var e=so&&so.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(B4()),i=q4();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,so=l,so}var I4=U4();const V4=Lo(I4),PS=FS("end"),gm=FS("start");function FS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Y4(e){const n=gm(e),i=PS(e);if(n&&i)return{start:n,end:i}}function bo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?$1(e.position):"start"in e||"end"in e?$1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return X1(e&&e.line)+":"+X1(e&&e.column)}function $1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function X1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=bo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,G4=new Map,$4=/[A-Z]/g,X4=new Set(["table","tbody","thead","tfoot","tr"]),P4=new Set(["td","th"]),QS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function F4(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=n5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=t5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:R4,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=ZS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function ZS(e,n,i){if(n.type==="element")return Q4(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Z4(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return J4(e,n,i);if(n.type==="mdxjsEsm")return K4(e,n);if(n.type==="root")return W4(e,n,i);if(n.type==="text")return e5(e,n)}function Q4(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=JS(e,n.tagName,!1),u=r5(e,n);let f=vm(e,n);return X4.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!N4(d):!0})),KS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Z4(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Ro(e,n.position)}function K4(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Ro(e,n.position)}function J4(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:JS(e,n.name,!0),u=i5(e,n),f=vm(e,n);return KS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function W4(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function e5(e,n){return n.value}function KS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function t5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function n5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function r5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=l5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&P4.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function i5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Ro(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Ro(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:G4;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const Q1={}.hasOwnProperty;function h5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Ql(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),g5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),y5=di(/[\dA-Fa-f]/),x5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const v5=di(new RegExp("\\p{P}|\\p{S}","u")),b5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function oa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function N5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function K1(e){if(e===null||rn(e)||b5(e))return 1;if(v5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};J1(p,-d),J1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(W1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Qe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Qe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function H5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:q5},B5={partial:!0,tokenize:U5};function q5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(B5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function U5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const I5={name:"codeText",previous:Y5,resolve:V5,tokenize:G5};function V5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&uo(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),uo(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),uo(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function l_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function o_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function wo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const J5={name:"definition",tokenize:eO},W5={partial:!0,tokenize:tO};function eO(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return a_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Ql(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?wo(e,h)(v):h(v)}function h(v){return l_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(W5,p,p)(v)}function p(v){return Qe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function tO(e,n,i){return l;function l(f){return rn(f)?wo(e,o)(f):i(f)}function o(f){return o_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const nO={name:"hardBreakEscape",tokenize:rO};function rO(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const iO={name:"headingAtx",resolve:lO,tokenize:aO};function lO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function aO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Qe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const oO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tb=["pre","script","style","textarea"],sO={concrete:!0,name:"htmlFlow",resolveTo:fO,tokenize:dO},uO={partial:!0,tokenize:pO},cO={partial:!0,tokenize:hO};function fO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function dO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&tb.includes(F)?(o=1,l.interrupt?n(N):I(N)):oO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Qe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Qe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Qe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Qe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Qe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Qe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(uO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(cO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return tb.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function hO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function pO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const mO={name:"htmlText",tokenize:gO};function gO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Qe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Qe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:bO,resolveTo:wO,tokenize:SO},yO={tokenize:_O},xO={tokenize:EO},vO={tokenize:NO};function bO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:RO},exit:HO,name:"list",tokenize:DO},jO={partial:!0,tokenize:BO},OO={partial:!0,tokenize:LO};function DO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Vu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(jO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function RO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(OO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function LO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function HO(e){e.exit(this.containerState.type)}function BO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const nb={name:"setextUnderline",resolveTo:qO,tokenize:UO};function qO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function UO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const IO={tokenize:VO};function VO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(P5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const YO={resolveAll:u_()},GO=s_("string"),$O=s_("text");function s_(e){return{resolveAll:u_(e==="text"?XO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function lD(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||rb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function yD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function xD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function vD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function bD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function wD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function f_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function SD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function _D(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function ED(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function ND(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function kD(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function CD(e,n,i){const l=e.all(n),o=i?TD(i):d_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||ib).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function vD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function bD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function wD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=oa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function SD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function _D(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function d_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function ED(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return d_(e,n);const o={src:oa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function ND(e,n){const i={src:oa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function kD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function CD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return d_(e,n);const o={href:oa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function TD(e,n){const i={href:oa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function zD(e,n,i){const l=e.all(n),o=i?AD(i):h_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function zD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=XS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function DD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(ab(n.slice(o),o>0,!1)),s.join("")}function ab(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===ib||s===lb;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===ib||s===lb;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function HD(e,n){const i={type:"text",value:LD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function BD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const qD={blockquote:pD,break:mD,code:gD,delete:yD,emphasis:xD,footnoteReference:vD,heading:bD,html:wD,imageReference:SD,image:_D,inlineCode:ED,linkReference:ND,link:kD,listItem:CD,list:zD,paragraph:AD,root:MD,strong:jD,table:OD,tableCell:RD,tableRow:DD,text:HD,thematicBreak:BD,toml:ju,yaml:ju,definition:ju,footnoteDefinition:ju};function ju(){}const h_=-1,Sc=0,wo=1,ic=2,_m=3,Em=4,Nm=5,km=6,p_=7,m_=8,ob=typeof self=="object"?self:globalThis,UD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case h_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ic:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case p_:{const{name:f,message:d}=u;return i(new ob[f](d),o)}case m_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ob[s](u),o)};return l},sb=e=>UD(new Map,e)(0),Hl="",{toString:ID}={},{keys:VD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=ID.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[ic,Hl];case"Date":return[_m,Hl];case"RegExp":return[Em,Hl];case"Map":return[Nm,Hl];case"Set":return[km,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[p_,i]:[ic,i]},Ou=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),YD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=m_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([h_],u)}return o([f,m],u)}case wo:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case ic:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of VD(u))(e||!Ou(uo(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Ou(uo(y))||Ou(uo(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!Ou(uo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},ub=(e,{json:n,lossy:i}={})=>{const l=[];return YD(!(n||i),!!n,new Map,l)(e),l},lc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?sb(ub(e,n)):structuredClone(e):(e,n)=>sb(ub(e,n));function GD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function $D(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function XD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||GD,l=e.options.footnoteBackLabel||$D,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...lc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`});const h={type:"element",tagName:"li",properties:s,children:u};return e.patch(n,h),e.applyData(n,h)}function AD(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const i=e.children;let l=-1;for(;!n&&++l1}function MD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=PS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function LD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(ob(n.slice(o),o>0,!1)),s.join("")}function ob(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===lb||s===ab;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===lb||s===ab;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function qD(e,n){const i={type:"text",value:BD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function UD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const ID={blockquote:gD,break:yD,code:xD,delete:vD,emphasis:bD,footnoteReference:wD,heading:SD,html:_D,imageReference:ED,image:ND,inlineCode:kD,linkReference:CD,link:TD,listItem:zD,list:MD,paragraph:jD,root:OD,strong:DD,table:RD,tableCell:HD,tableRow:LD,text:qD,thematicBreak:UD,toml:ju,yaml:ju,definition:ju,footnoteDefinition:ju};function ju(){}const p_=-1,Sc=0,So=1,ic=2,_m=3,Em=4,Nm=5,km=6,m_=7,g_=8,sb=typeof self=="object"?self:globalThis,VD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case p_:return i(u,o);case So:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ic:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case m_:{const{name:f,message:d}=u;return i(new sb[f](d),o)}case g_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new sb[s](u),o)};return l},ub=e=>VD(new Map,e)(0),Bl="",{toString:YD}={},{keys:GD}=Object,co=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=YD.call(e).slice(8,-1);switch(i){case"Array":return[So,Bl];case"Object":return[ic,Bl];case"Date":return[_m,Bl];case"RegExp":return[Em,Bl];case"Map":return[Nm,Bl];case"Set":return[km,Bl];case"DataView":return[So,i]}return i.includes("Array")?[So,i]:i.includes("Error")?[m_,i]:[ic,i]},Ou=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),$D=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=co(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=g_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([p_],u)}return o([f,m],u)}case So:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case ic:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of GD(u))(e||!Ou(co(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Ou(co(y))||Ou(co(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!Ou(co(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},cb=(e,{json:n,lossy:i}={})=>{const l=[];return $D(!(n||i),!!n,new Map,l)(e),l},lc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ub(cb(e,n)):structuredClone(e):(e,n)=>ub(cb(e,n));function XD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function PD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function FD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||XD,l=e.options.footnoteBackLabel||PD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...lc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const g_=(function(e){if(e==null)return ZD;if(typeof e=="function")return _c(e);if(typeof e=="object")return Array.isArray(e)?PD(e):FD(e);if(typeof e=="string")return QD(e);throw new Error("Expected function, string, or object as test")});function PD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=y_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=tR(i(d,m)),v[0]===cb))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==WD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k":""))+")"})}return y;function y(){let v=x_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=rR(i(d,m)),v[0]===fb))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==tR)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` -`}),i}function fb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function db(e,n){const i=rR(e,n),l=i.one(e,void 0),o=XD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function sR(e,n){return e&&"run"in e?async function(i,l){const o=db(i,{file:l,...n});await e.run(o,l)}:function(i,l){return db(i,{file:l,...e||n})}}function hb(e){if(e)throw e}var lp,pb;function uR(){if(pb)return lp;pb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:hR,dirname:pR,extname:mR,join:gR,sep:"/"};function hR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function pR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function mR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function gR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function xR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const vR={cwd:bR};function bR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function wR(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return SR(e)}function SR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const kR=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function gb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function yb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Du(e){return CR(e)?e:new v_(e)}function CR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function TR(e){return typeof e=="string"||zR(e)}function zR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const AR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",xb=[],vb={allowDangerousHtml:!0},MR=/^(https?|ircs?|mailto|xmpp)$/i,jR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function OR(e){const n=DR(e),i=RR(e);return LR(n.runSync(n.parse(i),i),e)}function DR(e){const n=e.rehypePlugins||xb,i=e.remarkPlugins||xb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...vb}:vb;return kR().use(hD).use(i).use(sR,l).use(n)}function RR(e){const n=e.children||"",i=new v_;return typeof n=="string"&&(i.value=n),i}function LR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||HR;for(const m of jR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+AR+m.id,void 0);return x_(e,h),X4(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function HR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||MR.test(e.slice(0,n))?e:""}function BR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(rN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(qR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(OR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function qR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function UR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(VR,{item:m},`${m.key}-${m.index}`))})]})]})}const IR={running:lt.running,completed:lt.completed,failed:lt.failed};function VR({item:e}){const[n,i]=V.useState(e.status==="running"),l=IR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function YR(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return y4;case"human_gate":return BR;case"parallel_group":case"for_each_group":return UR;default:return m4}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Yu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function GR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(Y2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(Eb,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(Z2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx($R,{entries:n}):o==="log"?b.jsx(XR,{entries:e}):b.jsx(PR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const bb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function $R({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Yu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(nN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(Bo,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=bb[d.type]||bb.message,p=b_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Yu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Yu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const wb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function XR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=wb[s.level]||wb.info,d=b_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Yu(s.message)})]},u)})})}function b_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function PR({output:e,status:n}){const[i,l]=V.useState(!1),o=Cb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Nb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(FR,{text:o}):o})})]})}function FR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function QR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(c4,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(YR,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(GR,{})})]})}const ZR=3e4;function KR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,ZR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function JR(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function WR(){return KR(),null}function e6(){return JR(),null}function t6(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(e6,{}):b.jsx(WR,{}),b.jsx(gN,{}),b.jsx(QR,{}),i?b.jsx(bN,{}):b.jsx(yN,{})]})}B2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(t6,{})})); +`}),i}function db(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function hb(e,n){const i=lR(e,n),l=i.one(e,void 0),o=FD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function cR(e,n){return e&&"run"in e?async function(i,l){const o=hb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return hb(i,{file:l,...e||n})}}function pb(e){if(e)throw e}var lp,mb;function fR(){if(mb)return lp;mb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:mR,dirname:gR,extname:yR,join:xR,sep:"/"};function mR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function gR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function yR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function xR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function bR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const wR={cwd:SR};function SR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function _R(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return ER(e)}function ER(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const TR=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function yb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Du(e){return zR(e)?e:new b_(e)}function zR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function AR(e){return typeof e=="string"||MR(e)}function MR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const jR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",vb=[],bb={allowDangerousHtml:!0},OR=/^(https?|ircs?|mailto|xmpp)$/i,DR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function RR(e){const n=LR(e),i=HR(e);return BR(n.runSync(n.parse(i),i),e)}function LR(e){const n=e.rehypePlugins||vb,i=e.remarkPlugins||vb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...bb}:bb;return TR().use(mD).use(i).use(cR,l).use(n)}function HR(e){const n=e.children||"",i=new b_;return typeof n=="string"&&(i.value=n),i}function BR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||qR;for(const m of DR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+jR+m.id,void 0);return v_(e,h),F4(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function qR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||OR.test(e.slice(0,n))?e:""}function UR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(_o,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(iN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(IR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(RR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function IR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(la,{items:n})}function VR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(la,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(GR,{item:m},`${m.key}-${m.index}`))})]})]})}const YR={running:lt.running,completed:lt.completed,failed:lt.failed};function GR({item:e}){const[n,i]=V.useState(e.status==="running"),l=YR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Zl(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(Fi,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(_o,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Zl(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(la,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function $R(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return v4;case"human_gate":return UR;case"parallel_group":case"for_each_group":return VR;default:return y4}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Yu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function XR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(Nb,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(K2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(Fi,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(PR,{entries:n}):o==="log"?b.jsx(FR,{entries:e}):b.jsx(QR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const wb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function PR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Yu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(rN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(Bo,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=wb[d.type]||wb.message,p=w_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Yu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Yu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const Sb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function FR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=Sb[s.level]||Sb.info,d=w_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Yu(s.message)})]},u)})})}function w_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function QR({output:e,status:n}){const[i,l]=V.useState(!1),o=Tb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(kb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(ZR,{text:o}):o})})]})}function ZR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function KR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(fo,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(fo,{defaultSize:e?65:100,minSize:40,children:b.jsx(d4,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(fo,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx($R,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(fo,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(XR,{})})]})}const JR=3e4;function WR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,JR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function e6(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function t6(){return WR(),null}function n6(){return e6(),null}function r6(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(n6,{}):b.jsx(t6,{}),b.jsx(xN,{}),b.jsx(KR,{}),i?b.jsx(SN,{}):b.jsx(vN,{})]})}q2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(r6,{})})); diff --git a/src/conductor/web/static/assets/index-QjxFLc8h.css b/src/conductor/web/static/assets/index-QjxFLc8h.css new file mode 100644 index 0000000..01d6382 --- /dev/null +++ b/src/conductor/web/static/assets/index-QjxFLc8h.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-\[90\%\]{height:90%}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500\/70{color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.text-emerald-500\/70{color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-qO_C6m5s.css b/src/conductor/web/static/assets/index-qO_C6m5s.css deleted file mode 100644 index 762a26a..0000000 --- a/src/conductor/web/static/assets/index-qO_C6m5s.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-\[90\%\]{height:90%}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500\/70{color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.text-emerald-500\/70{color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index a0105b8..5f2144c 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
From 318d999acb05119551ff44adf9057b8f5cd6537b Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Tue, 31 Mar 2026 10:08:59 -0400 Subject: [PATCH 13/18] feat(dashboard): show conductor version from workflow event Replace hardcoded "Dashboard v1.0" with the actual conductor-cli version from the workflow_started event. Shows "v0.1.5" etc. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/engine/workflow.py | 10 + .../frontend/src/components/layout/Header.tsx | 3 +- .../web/frontend/src/stores/workflow-store.ts | 3 + .../web/static/assets/index-B0kvfDMx.js | 272 ------------------ .../{index-BOL5pxtd.js => index-Cq5A-RoD.js} | 114 ++++---- .../web/static/assets/index-DHEpYuxn.css | 1 + .../web/static/assets/index-QjxFLc8h.css | 1 - .../web/static/assets/index-obLVamF6.css | 1 - src/conductor/web/static/index.html | 4 +- 9 files changed, 75 insertions(+), 334 deletions(-) delete mode 100644 src/conductor/web/static/assets/index-B0kvfDMx.js rename src/conductor/web/static/assets/{index-BOL5pxtd.js => index-Cq5A-RoD.js} (66%) create mode 100644 src/conductor/web/static/assets/index-DHEpYuxn.css delete mode 100644 src/conductor/web/static/assets/index-QjxFLc8h.css delete mode 100644 src/conductor/web/static/assets/index-obLVamF6.css diff --git a/src/conductor/engine/workflow.py b/src/conductor/engine/workflow.py index d64850b..e36fb32 100644 --- a/src/conductor/engine/workflow.py +++ b/src/conductor/engine/workflow.py @@ -390,6 +390,15 @@ def _yaml_source_field(self) -> dict[str, str]: except OSError: return {} + @staticmethod + def _conductor_version() -> str: + """Return the installed conductor-cli version.""" + try: + from conductor import __version__ + return __version__ + except Exception: + return "unknown" + def _make_event_callback(self, agent_name: str) -> Any: """Create an event callback for an agent that forwards to the emitter. @@ -968,6 +977,7 @@ async def _execute_loop(self, current_agent_name: str) -> dict[str, Any]: "workflow_started", { "name": self.config.workflow.name, + "version": self._conductor_version(), "entry_point": self.config.workflow.entry_point, "agents": [ { diff --git a/src/conductor/web/frontend/src/components/layout/Header.tsx b/src/conductor/web/frontend/src/components/layout/Header.tsx index d8fb583..d01291f 100644 --- a/src/conductor/web/frontend/src/components/layout/Header.tsx +++ b/src/conductor/web/frontend/src/components/layout/Header.tsx @@ -8,6 +8,7 @@ export function Header() { const workflowStatus = useWorkflowStore((s) => s.workflowStatus); const isPaused = useWorkflowStore((s) => s.isPaused); const workflowYaml = useWorkflowStore((s) => s.workflowYaml); + const conductorVersion = useWorkflowStore((s) => s.conductorVersion); const [stopping, setStopping] = useState(false); const [resuming, setResuming] = useState(false); const [killing, setKilling] = useState(false); @@ -136,7 +137,7 @@ export function Header() { Logs
- Dashboard v1.0 + v{conductorVersion ?? '—'}
{showYaml && workflowYaml && ( setShowYaml(false)} /> diff --git a/src/conductor/web/frontend/src/stores/workflow-store.ts b/src/conductor/web/frontend/src/stores/workflow-store.ts index 6debb4c..efa4d3e 100644 --- a/src/conductor/web/frontend/src/stores/workflow-store.ts +++ b/src/conductor/web/frontend/src/stores/workflow-store.ts @@ -177,6 +177,7 @@ interface WorkflowState { workflowFailure: { error_type?: string; message?: string; elapsed_seconds?: number; timeout_seconds?: number; current_agent?: string; checkpoint_path?: string } | null; workflowFailedAgent: string | null; workflowYaml: string | null; + conductorVersion: string | null; entryPoint: string | null; // Graph structure @@ -276,6 +277,7 @@ export const useWorkflowStore = create((set) => ({ workflowFailure: null, workflowFailedAgent: null, workflowYaml: null, + conductorVersion: null, entryPoint: null, agents: [], routes: [], @@ -491,6 +493,7 @@ const eventHandlers: Record).yaml_source as string ?? null; + state.conductorVersion = (data as Record).version as string ?? null; state.entryPoint = data.entry_point || null; state.agents = data.agents || []; state.routes = data.routes || []; diff --git a/src/conductor/web/static/assets/index-B0kvfDMx.js b/src/conductor/web/static/assets/index-B0kvfDMx.js deleted file mode 100644 index 7d70a1d..0000000 --- a/src/conductor/web/static/assets/index-B0kvfDMx.js +++ /dev/null @@ -1,272 +0,0 @@ -var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>C2(e,typeof n!="symbol"?n+"":n,i);function T2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Ro(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Dd={exports:{}},eo={};/** - * @license React - * react-jsx-runtime.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 ax;function z2(){if(ax)return eo;ax=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return eo.Fragment=n,eo.jsx=i,eo.jsxs=i,eo}var ox;function A2(){return ox||(ox=1,Dd.exports=z2()),Dd.exports}var b=A2(),Rd={exports:{}},ze={};/** - * @license React - * react.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 sx;function M2(){if(sx)return ze;sx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),x=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=x&&U[x]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,F,N){this.props=U,this.context=F,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,F){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,F,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,F,N){this.props=U,this.context=F,this.refs=S,this.updater=N||w}var A=_.prototype=new z;A.constructor=_,k(A,E.prototype),A.isPureReactComponent=!0;var B=Array.isArray;function T(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,F,N){var V=N.ref;return{$$typeof:e,type:U,key:F,ref:V!==void 0?V:null,props:N}}function X(U,F){return R(U.type,F,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var F={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return F[N]})}var ee=/\/+/g;function L(U,F){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):F.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function(F){U.status==="pending"&&(U.status="fulfilled",U.value=F)},function(F){U.status==="pending"&&(U.status="rejected",U.reason=F)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,F,N,V,P){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),F,N,V,P)}}if(ne)return P=P(U),ne=V===""?"."+L(U,0):V,B(P)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(P,F,N,"",function(ge){return ge})):P!=null&&(H(P)&&(P=X(P,N+(P.key==null||U&&U.key===P.key?"":(""+P.key).replace(ee,"$&/")+"/")+ne)),F.push(P)),1;ne=0;var re=V===""?".":V+":";if(B(U))for(var se=0;se>>1,j=D[J];if(0>>1;Jo(N,Z))Vo(P,N)?(D[J]=P,D[V]=Z,J=V):(D[J]=N,D[F]=Z,J=F);else if(Vo(P,Z))D[J]=P,D[V]=Z,J=V;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,x=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function A(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,A(D),!w)if(i(d)!==null)w=!0,T||(T=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var T=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,x=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,A(D),$=!0;break t}p===i(d)&&l(d),A(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,x=Z,v=!1}$=void 0}}finally{$?I():T=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,T||(T=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=x;return function(){var Z=x;x=$;try{return D.apply(this,arguments)}finally{x=Z}}}})(Bd)),Bd}var fx;function D2(){return fx||(fx=1,Hd.exports=O2()),Hd.exports}var qd={exports:{}},Yt={};/** - * @license React - * react-dom.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 dx;function R2(){if(dx)return Yt;dx=1;var e=Lo();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}/** - * @license React - * react-dom-client.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 px;function L2(){if(px)return to;px=1;var e=D2(),n=Lo(),i=wb();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var V=U(null),P=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(P,t),N(V,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?zy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=zy(r),t=Ay(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}F(V),N(V,t)}function se(){F(V),F(P),F(K)}function ge(t){t.memoizedState!==null&&N(ne,t);var r=V.current,a=Ay(r,t.type);r!==a&&(N(P,t),N(V,a))}function ve(t){P.current===t&&(F(V),F(P)),ne.current===t&&(F(ne),Za._currentValue=Z)}var ye,he;function _e(t){if(ye===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);ye=r&&r[1]||"",he=-1)":-1g||Q[c]!==le[g]){var ce=` -`+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` -Error generating stack: `+c.message+` -`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,bn=e.unstable_shouldYield,An=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,me=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,Mn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&Mn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:wc,Gn=Math.log,on=Math.LN2;function wc(t){return t>>>=0,t===0?32:31-(Gn(t)/on|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,y=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~y,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~y,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&y)===0&&(y=g&-g,a=r&-r,y>=a||y===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Sc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Po(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function _c(t,r,a,c,g,y){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Tc=/[\n"\\]/g;function Pt(t){return t.replace(Tc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,y,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Ft(r)):t.value!==""+Ft(r)&&(t.value=""+Ft(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Ft(r)):a!=null?da(t,C,Ft(a)):c!=null&&t.removeAttribute("value"),g==null&&y!=null&&(t.defaultChecked=!!y),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Ft(O):t.removeAttribute("name")}function os(t,r,a,c,g,y,C,O){if(y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(t.type=y),r!=null||a!=null){if(!(y!=="submit"&&y!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Ft(a):"",r=r!=null?""+Ft(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Oc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Oc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Oc=!1}var Br=null,Dc=null,us=null;function Am(){if(us)return us;var t,r=Dc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,y=g.length;for(t=0;t=ya),Lm=" ",Hm=!1;function Bm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qm(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Z_(t,r){switch(t){case"compositionend":return qm(r);case"keypress":return r.which!==32?null:(Hm=!0,Lm);case"textInput":return t=r.data,t===Lm&&Hm?null:t;default:return null}}function K_(t,r){if(ll)return t==="compositionend"||!qc&&Bm(t,r)?(t=Am(),us=Dc=Br=null,ll=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Fm(a)}}function Qm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Qm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function Zm(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function Vc(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var lE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Yc=null,wa=null,Gc=!1;function Km(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Gc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&Vc(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),wa&&ba(wa,c)||(wa=c,c=nu(Yc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=y(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(N2){return r(te,N2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=Kc(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Zc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=un(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=bg(!0),wg=bg(!1),Yr=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ff(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),ig(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function df(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,y=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};y===null?g=y=C:y=y.next=C,a=a.next}while(a!==null);y===null?g=y=r:y=y.next=r}else g=y=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:y,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var hf=!1;function za(){if(hf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){hf=!1;var g=t.updateQueue;Yr=!1;var y=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?y=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(y!==null){var de=g.baseState;C=0,ce=le=Q=null,O=y;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(hf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,y===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function Sg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function _g(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;ty?y:8;var C=D.T,O={};D.T=O,jf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=pE(Q,c);Oa(t,r,ce,pn(t))}else Oa(t,r,c,pn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},pn())}finally{$.p=y,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function bE(){}function Af(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=t0(t).queue;e0(t,g,r,Z,a===null?bE:function(){return n0(t),a(c)})}function t0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function n0(t){var r=t0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},pn())}function Mf(){return Ht(Za)}function r0(){return vt().memoizedState}function i0(){return vt().memoizedState}function wE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=pn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:af()},t.payload=r;return}r=r.return}}function SE(t,r,a){var c=pn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?a0(r,a):(a=Pc(t,r,a,c),a!==null&&(en(a,t,c),o0(a,r,c)))}function l0(t,r,a){var c=pn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))a0(r,g);else{var y=t.alternate;if(t.lanes===0&&(y===null||y.lanes===0)&&(y=r.lastRenderedReducer,y!==null))try{var C=r.lastRenderedState,O=y(C,a);if(g.hasEagerState=!0,g.eagerState=O,sn(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Pc(t,r,g,c),a!==null)return en(a,t,c),o0(a,r,c),!0}return!1}function jf(t,r,a,c){if(c={lane:2,revertLane:cd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Pc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function a0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function o0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var s0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:$g,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Qg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=SE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Nf(t);var r=t.queue,a=l0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Tf,useDeferredValue:function(t,r){var a=Xt();return zf(a,t,r)},useTransition:function(){var t=Nf(!1);return t=e0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||zg(c,r,a)}g.memoizedState=a;var y={value:a,getSnapshot:r};return g.queue=y,$g(Mg.bind(null,c,y,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Ag.bind(null,c,y,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Fn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?y.multiple=!0:c.size&&(y.size=c.size);break;default:y=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}y[Mt]=r,y[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)y.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=y;e:switch(qt(y,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Xf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||Cy(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(fn(r),r):(fn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(fn(r),r):(fn(r),null)}return fn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),y=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(y=c.memoizedState.cachePool.pool),y!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&pd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(F(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,y=c.rendering,y===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(y=zs(t),y!==null){for(r.flags|=128,La(c,!1),t=y.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)lg(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(y),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!y.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(y.sibling=r.child,r.child=y):(t=c.last,t!==null?t.sibling=y:r.child=y,c.last=y)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return fn(r),mf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&F(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function CE(t,r){switch(Wc(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(fn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(fn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return F(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return fn(r),mf(),t!==null&&F(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function j0(t,r){switch(Wc(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&fn(r);break;case 13:fn(r);break;case 19:F(xt);break;case 10:hr(r.type);break;case 22:case 23:fn(r),mf(),t!==null&&F(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var y=a.create,C=a.inst;c=y(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Pr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var y=g.next;c=y;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==y)}}catch(ce){Je(r,r.return,ce)}}function O0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{_g(r,a)}catch(c){Je(t,t.return,c)}}}function D0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Pn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function R0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Ff(t,r,a){try{var c=t.stateNode;QE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function L0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Pf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||L0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Qf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Qf(t,r,a),t=t.sibling;t!==null;)Qf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function H0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(y){Je(t,t.return,y)}}var xr=!1,Et=!1,Zf=!1,B0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function TE(t,r){if(t=t.containerInfo,yd=cu,t=Zm(t),Vc(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,y=c.focusNode;c=c.focusOffset;try{a.nodeType,y.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==y||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===y&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(xd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,y=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(y,c,a),y[Mt]=t,bt(y),c=y;break e;case"link":var C=Gy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Pm(O,ke),W=Pm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=rd,rd=null;var y=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,Q0(y.current),X0(y,y.current,C,a),Fe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,y)}catch{}return!0}finally{$.p=g,D.T=c,hy(t,r)}}function my(t,r,a){r=Sn(a,r),r=Lf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)my(t,t,a);else for(;r!==null;){if(r.tag===3){my(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=Sn(a,t),a=g0(2),c=$r(r,a,2),c!==null&&(y0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function od(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new ME;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(Wf=!0,g.add(a),t=LE.bind(null,t,r,a),r.then(t,t))}function LE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Fe&2)===0&&Cl(t,0):ed|=a,Nl===Be&&(Nl=0)),Qn(t)}function gy(t,r){r===0&&(r=Po()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function HE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),gy(t,a)}function BE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),gy(t,a)}function qE(t,r){return Ut(t,r)}var Ws=null,zl=null,sd=!1,eu=!1,ud=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,sd||(sd=!0,IE())}function Ga(t,r){if(!ud&&eu){ud=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var y=0;else{var C=c.suspendedLanes,O=c.pingedLanes;y=(1<<31-Ze(42|t)+1)-1,y&=g&~(C&~O),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(a=!0,by(c,y))}else y=Be,y=Ji(c,c===rt?y:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(y&3)===0||hi(c,y)||(a=!0,by(c,y));c=c.next}while(a);ud=!1}}function UE(){yy()}function yy(){eu=sd=!1;var t=0;ei!==0&&KE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,y=xy(c,r);y===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(y&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function xy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,y=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&Ty(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Uy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Pt(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),qy.has(g)||(qy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function a2(t){Er.D(t),Uy("dns-prefetch",t,null)}function o2(t,r){Er.C(t,r),Uy("preconnect",t,r)}function s2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Pt(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Pt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Pt(a.imageSizes)+'"]')):g+='[href="'+Pt(t)+'"]';var y=g;switch(r){case"style":y=Ml(t);break;case"script":y=jl(t)}Tn.has(y)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),Tn.set(y,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Pa(y))||r==="script"&&c.querySelector(Qa(y))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function u2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Pt(c)+'"][href="'+Pt(t)+'"]',y=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=jl(t)}if(!Tn.has(y)&&(t=p({rel:"modulepreload",href:t},r),Tn.set(y,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(y)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function c2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,y=Ml(t);r=r||"default";var C=g.get(y);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Pa(y)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=Tn.get(y))&&Nd(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(y,C)}}}function f2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),y=c.get(g);y||(y=a.querySelector(Qa(g)),y||(t=p({src:t,async:!0},r),(r=Tn.get(g))&&kd(t,r),y=a.createElement("script"),bt(y),qt(y,"link",t),a.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},c.set(g,y))}}function d2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),y=c.get(g);y||(y=a.querySelector(Qa(g)),y||(t=p({src:t,async:!0,type:"module"},r),(r=Tn.get(g))&&kd(t,r),y=a.createElement("script"),bt(y),qt(y,"link",t),a.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},c.set(g,y))}}function Iy(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var y=Rr(g).hoistableStyles,C=y.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(t,C),(y=g.querySelector(Pa(t)))&&!y._p&&(C.instance=y,C.state.loading=5),Tn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Tn.set(t,a),y||h2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Pt(t)+'"'}function Pa(t){return'link[rel="stylesheet"]['+t+"]"}function Vy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function h2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Pt(t)+'"]'}function Qa(t){return"script[async]"+t}function Yy(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Pt(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var y=t.querySelector(Pa(g));if(y)return r.state.loading|=4,r.instance=y,bt(y),y;c=Vy(a),(g=Tn.get(g))&&Nd(c,g),y=(t.ownerDocument||t).createElement("link"),bt(y);var C=y;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(y,"link",c),r.state.loading|=4,lu(y,a.precedence,t),r.instance=y;case"script":return y=jl(a.src),(g=t.querySelector(Qa(y)))?(r.instance=g,bt(g),g):(c=a,(g=Tn.get(y))&&(c=p({},a),kd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,y=g,C=0;C title"):null)}function p2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Xy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function m2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),y=r.querySelector(Pa(g));if(y){r=y._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=y,bt(y);return}y=r.ownerDocument||r,c=Vy(c),(g=Tn.get(g))&&Nd(c,g),y=y.createElement("link"),bt(y);var C=y;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(y,"link",c),a.instance=y}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Cd=0;function g2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Cd?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(y2,t),su=null,ou.call(t))}function y2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Ld.exports=L2(),Ld.exports}var B2=H2();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Sb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var U2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const I2=Y.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>Y.createElement("svg",{ref:d,...U2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Sb("lucide",o),...f},[...u.map(([h,m])=>Y.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qe=(e,n)=>{const i=Y.forwardRef(({className:l,...o},s)=>Y.createElement(I2,{ref:s,iconNode:n,className:Sb(`lucide-${q2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _b=Qe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const V2=Qe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Bi=Qe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ra=Qe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ho=Qe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Y2=Qe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const G2=Qe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $2=Qe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const X2=Qe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Eb=Qe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const F2=Qe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const P2=Qe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Q2=Qe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Z2=Qe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const K2=Qe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const So=Qe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const J2=Qe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Nb=Qe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const W2=Qe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const eN=Qe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const tN=Qe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nN=Qe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gx=Qe("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kb=Qe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const rN=Qe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const iN=Qe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const lN=Qe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const aN=Qe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nc=Qe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),yx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const x=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,x))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?yx(e):yx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const xx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?xx(e):xx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const xe=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=xe.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vx[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bx(n);s&&o.eventLog.push(s);const u=wx(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vx[o.type];s&&s(l,o.data,o.timestamp);const u=bx(o);u&&l.eventLog.push(u);const f=wx(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vx={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],l.context_window_max!=null&&(o.context_window_max=l.context_window_max),o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bx(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Mu(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wx(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=xe(v=>v.workflowName),n=xe(v=>v.workflowStatus),i=xe(v=>v.isPaused),[l,o]=Y.useState(!1),[s,u]=Y.useState(!1),[f,d]=Y.useState(!1),h=n==="running"||n==="pending";Y.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},x=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 - hover:bg-emerald-500/20 hover:border-emerald-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Nb,{className:"w-3 h-3"}),s?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:x,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-red-500/10 text-red-400 border border-red-500/20 - hover:bg-red-500/20 hover:border-red-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(nc,{className:"w-3 h-3"}),f?"Killing...":"Kill"]})]}):h?b.jsxs("button",{onClick:m,disabled:l,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-red-500/10 text-red-400 border border-red-500/20 - hover:bg-red-500/20 hover:border-red-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,children:[b.jsx(kb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] - hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(F2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function In(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function Cb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function hN(e,n){if(n<=0)return`${e.toLocaleString()} tokens (limit unknown)`;const i=o=>o.toLocaleString(),l=(e/n*100).toFixed(1);return`${i(e)} / ${i(n)} (${l}%)`}function Tb(){const e=xe(s=>s.workflowStatus),n=xe(s=>s.workflowStartTime),[i,l]=Y.useState("—"),o=Y.useRef(null);return Y.useEffect(()=>{if(e==="running"&&n!=null){const s=()=>{const u=Date.now()/1e3-n;l(In(u))};return s(),o.current=setInterval(s,500),()=>{o.current&&clearInterval(o.current)}}else(e==="completed"||e==="failed")&&o.current&&(clearInterval(o.current),o.current=null)},[e,n]),i}function pN(){const e=xe(k=>k.workflowStatus),n=xe(k=>k.agentsCompleted),i=xe(k=>k.agentsTotal),l=xe(k=>k.totalCost),o=xe(k=>k.totalTokens),s=xe(k=>k.wsStatus),u=xe(k=>k.workflowFailure),f=xe(k=>k.lastEventTime),d=Tb(),[h,m]=Y.useState(null);Y.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",x=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:x}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(K2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(X2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const rc=Y.createContext(null);rc.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},qp=10,qi=Y.useLayoutEffect,Sx=j2.useId,mN=typeof Sx=="function"?Sx:()=>null;let gN=0;function Up(e=null){const n=mN(),i=Y.useRef(e||n||null);return i.current===null&&(i.current=""+gN++),e??i.current}function zb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:x,style:v,tagName:w="div",...k}){const S=Y.useContext(rc);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:A,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Up(u),I=Y.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:x});Y.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=x,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[x,H,M,X]),Y.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return T(I.current)},isExpanded(){return!T(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,T,H,R]);const ee=A(I.current,o);return Y.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=Y.forwardRef((e,n)=>Y.createElement(zb,{...e,forwardedRef:n}));zb.displayName="Panel";co.displayName="forwardRef(Panel)";let dp=null,ju=-1,ci=null;function yN(e,n){if(n){const i=(n&Db)!==0,l=(n&Rb)!==0,o=(n&Lb)!==0,s=(n&Hb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function xN(){ci!==null&&(document.head.removeChild(ci),dp=null,ci=null,ju=-1)}function Ud(e,n){var i,l;const o=yN(e,n);if(dp!==o){if(dp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),ju>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(ju)}ju=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Ab(e){return e.type==="keydown"}function Mb(e){return e.type.startsWith("pointer")}function jb(e){return e.type.startsWith("mouse")}function ic(e){if(Mb(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(jb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function vN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function bN(e,n,i){return e.xn.x&&e.yn.y}function wN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Nx(e),b:Nx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Ex(_x(i.a)),b:Ex(_x(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const SN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function _N(e){var n;const i=getComputedStyle((n=Ob(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function EN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||_N(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||SN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function _x(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),EN(i))return i}return null}function Ex(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Nx(e){const n=[];for(;e;)n.push(e),e=Ob(e);return n}function Ob(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Db=1,Rb=2,Lb=4,Hb=8,NN=vN()==="coarse";let Un=[],Gl=!1,Li=new Map,lc=new Map;const _o=new Set;function kN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Uu(),function(){var m;lc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Uu(),p===1&&Li.delete(u),Un.includes(f)){const x=Un.indexOf(f);x>=0&&Un.splice(x,1),Vp(),o("up",!0,null)}}}function CN(e){const{target:n}=e,{x:i,y:l}=ic(e);Gl=!0,Ip({target:n,x:i,y:l}),Uu(),Un.length>0&&(Iu("down",e),e.preventDefault(),Bb(n)||e.stopImmediatePropagation())}function Id(e){const{x:n,y:i}=ic(e);if(Gl&&e.buttons===0&&(Gl=!1,Iu("up",e)),!Gl){const{target:l}=e;Ip({target:l,x:n,y:i})}Iu("move",e),Vp(),Un.length>0&&e.preventDefault()}function Vd(e){const{target:n}=e,{x:i,y:l}=ic(e);lc.clear(),Gl=!1,Un.length>0&&(e.preventDefault(),Bb(n)||e.stopImmediatePropagation()),Iu("up",e),Ip({target:n,x:i,y:l}),Vp(),Uu()}function Bb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function Ip({target:e,x:n,y:i}){Un.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,x=NN?u.coarse:u.fine;if(n>=h-x&&n<=m+x&&i>=p-x&&i<=d+x){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&wN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(bN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}Un.push(o)}})}function Yd(e,n){lc.set(e,n)}function Vp(){let e=!1,n=!1;Un.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;lc.forEach(l=>{i|=l}),e&&n?Ud("intersection",i):e?Ud("horizontal",i):n?Ud("vertical",i):xN()}let Gd=new AbortController;function Uu(){Gd.abort(),Gd=new AbortController;const e={capture:!0,signal:Gd.signal};_o.size&&(Gl?(Un.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",Vd,e),l.addEventListener("pointerleave",Id,e),l.addEventListener("pointermove",Id,e))}),window.addEventListener("pointerup",Vd,e),window.addEventListener("pointercancel",Vd,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",CN,e),l.addEventListener("pointermove",Id,e))}))}function Iu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=Un.includes(i);l(e,o,n)})}function TN(){const[e,n]=Y.useState(0);return Y.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=qp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=qp){return Vi(e,n,i)===0}function gn(e,n,i){return Vi(e,n,i)===0}function zN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,x=i[p];De(x,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=x;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),gn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let x=e<0?d:f,v=0;for(;;){const k=n[x];De(k!=null,`Previous layout not found for panel index ${x}`);const E=Ul({panelConstraints:i,panelIndex:x,size:100})-k;if(v+=E,x+=p,x<0||x>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let x=e<0?f:d;for(;x>=0&&x=0))break;e<0?x--:x++}}if(zN(o,u))return o;{const p=e<0?d:f,x=n[p];De(x!=null,`Previous layout not found for panel index ${p}`);const v=x+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!gn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,x)=>x+p,0);return gn(m,100)?u:o}function AN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,x)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;x===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function qb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Ub(e,n,i){const l=qb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ib(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function ac(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function MN(e,n,i,l=document){var o,s,u,f;const d=ac(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,x=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,x]}function jN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){Y.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),Y.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ib(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(x=>{const v=x.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=MN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const A=l[z],{collapsedSize:B=0,collapsible:T,minSize:q=0}=_.constraints;if(A!=null&&T){const M=fo({delta:gn(A,B)?q-B:B-A,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:Ub(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return x.addEventListener("keydown",S),()=>{x.removeEventListener("keydown",S)}});return()=>{p.forEach(x=>x())}},[s,e,n,i,l,o,u])}function kx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:x,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(x||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),x&&(p==null||!kr(p,h))&&kr(l,h)&&x())}})}function xu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Cx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Yb(e){return`react-resizable-panels:${e}`}function Gb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function $b(e,n){try{const i=Yb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function BN(e,n,i){var l,o;const s=(l=$b(e,i))!==null&&l!==void 0?l:{},u=Gb(n);return(o=s[u])!==null&&o!==void 0?o:null}function qN(e,n,i,l,o){var s;const u=Yb(e),f=Gb(n),d=(s=$b(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Tx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!gn(l,100)&&i.length>0)for(let s=0;s(Cx(ho),ho.getItem(e)),setItem:(e,n)=>{Cx(ho),ho.setItem(e,n)}},zx={};function Xb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const x=Up(s),v=Y.useRef(null),[w,k]=Y.useState(null),[S,E]=Y.useState([]),z=TN(),_=Y.useRef({}),A=Y.useRef(new Map),B=Y.useRef(0),T=Y.useRef({autoSaveId:e,direction:l,dragState:w,id:x,keyboardResizeBy:f,onLayout:u,storage:d}),q=Y.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});Y.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),Y.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:V}=T.current,{layout:P,panelDataArray:K}=q.current,ne=Tx({layout:N,panelConstraints:K.map(re=>re.constraints)});kx(P,ne)||(E(ne),q.current.layout=ne,V&&V(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=x,T.current.onLayout=u,T.current.storage=d}),jN({committedValuesRef:T,eagerValuesRef:q,groupId:x,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),Y.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let V=zx[e];V==null&&(V=HN(qN,UN),zx[e]=V);const P=[...N],K=new Map(A.current);V(e,P,K,S,d)}},[e,S,d]),Y.useEffect(()=>{});const M=Y.useCallback(N=>{const{onLayout:V}=T.current,{layout:P,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ge}=Di(K,N,P);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){A.current.set(N.id,se);const ye=Bl(K,N)===K.length-1?se-re:re-se,he=fo({delta:ye,initialLayout:P,panelConstraints:ne,pivotIndices:ge,prevLayout:P,trigger:"imperative-api"});xu(P,he)||(E(he),q.current.layout=he,V&&V(he),Dl(K,he,_.current))}}},[]),R=Y.useCallback((N,V)=>{const{onLayout:P}=T.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ge=0,minSize:ve=0,pivotIndices:ye}=Di(ne,N,K),he=V??ve;if(kr(ge,se)){const _e=A.current.get(N.id),Me=_e!=null&&_e>=he?_e:he,st=Bl(ne,N)===ne.length-1?ge-Me:Me-ge,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});xu(K,We)||(E(We),q.current.layout=We,P&&P(We),Dl(ne,We,_.current))}}},[]),X=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{panelSize:K}=Di(P,N,V);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=Y.useCallback((N,V)=>{const{panelDataArray:P}=q.current,K=Bl(P,N);return LN({defaultSize:V,dragState:w,layout:S,panelData:P,panelIndex:K})},[w,S]),I=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(P,N,V);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(P,N,V);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=Y.useCallback(N=>{const{panelDataArray:V}=q.current;V.push(N),V.sort((P,K)=>{const ne=P.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:V,storage:P}=T.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ge=BN(N,ne,P);ge&&(A.current=new Map(Object.entries(ge.expandToSizes)),re=ge.layout)}re==null&&(re=RN({panelDataArray:ne}));const se=Tx({layout:re,panelConstraints:ne.map(ge=>ge.constraints)});kx(K,se)||(E(se),q.current.layout=se,V&&V(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=Y.useCallback(N=>{let V=!1;const P=v.current;return P&&window.getComputedStyle(P,null).getPropertyValue("direction")==="rtl"&&(V=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ge,id:ve,keyboardResizeBy:ye,onLayout:he}=T.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ge??{},st=Ub(ve,N,re);let We=DN(ne,N,se,ge,ye,re);const zt=se==="horizontal";zt&&V&&(We=-We);const Ut=Me.map(An=>An.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:Ab(ne)?"keyboard":"mouse-or-touch"}),bn=!xu(_e,Dt);(Mb(ne)||jb(ne))&&B.current!=We&&(B.current=We,!bn&&We!==0?zt?Yd(N,We<0?Db:Rb):Yd(N,We<0?Lb:Hb):Yd(N,0)),bn&&(E(Dt),q.current.layout=Dt,he&&he(Dt),Dl(Me,Dt,_.current))}},[]),D=Y.useCallback((N,V)=>{const{onLayout:P}=T.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ge}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const ye=Bl(ne,N)===ne.length-1?se-V:V-se,he=fo({delta:ye,initialLayout:K,panelConstraints:re,pivotIndices:ge,prevLayout:K,trigger:"imperative-api"});xu(K,he)||(E(he),q.current.layout=he,P&&P(he),Dl(ne,he,_.current))},[]),$=Y.useCallback((N,V)=>{const{layout:P,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=V,{collapsedSize:se=0,collapsible:ge,maxSize:ve=100,minSize:ye=0}=N.constraints,{panelSize:he}=Di(K,N,P);he!=null&&(re&&ge&&kr(he,ne)?kr(ne,se)||D(N,se):heve&&D(N,ve))},[D]),Z=Y.useCallback((N,V)=>{const{direction:P}=T.current,{layout:K}=q.current;if(!v.current)return;const ne=ac(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Vb(P,V);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=Y.useCallback(()=>{k(null)},[]),j=Y.useCallback(N=>{const{panelDataArray:V}=q.current,P=Bl(V,N);P>=0&&(V.splice(P,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=Y.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:x,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,x,I,ee,$,L,G,D,Z,J,j]),F={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Y.createElement(rc.Provider,{value:U},Y.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...F,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:x}))}const hp=Y.forwardRef((e,n)=>Y.createElement(Xb,{...e,forwardedRef:n}));Xb.displayName="PanelGroup";hp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function IN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){Y.useEffect(()=>{if(e||i==null||l==null)return;const o=ac(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=qb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function pp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:x=0,tagName:v="div",...w}){var k,S;const E=Y.useRef(null),z=Y.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});Y.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=Y.useContext(rc);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:A,groupId:B,registerResizeHandle:T,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Up(o),[H,I]=Y.useState("inactive"),[ee,L]=Y.useState(!1),[G,D]=Y.useState(null),$=Y.useRef({state:H});qi(()=>{$.current.state=H}),Y.useEffect(()=>{if(i)D(null);else{const U=T(X);D(()=>U)}},[i,X,T]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;Y.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let F=!1;return kN(X,U,A,{coarse:Z,fine:J},(V,P,K)=>{if(!P){I("inactive");return}switch(V){case"down":{I("drag"),F=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;F=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),F||ne==null||ne();break}}})},[Z,A,i,J,T,X,G,q,M]),IN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return Y.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:x,[gt.groupDirection]:A,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}pp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function oc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Ou.prototype=oc.prototype={constructor:Ou,on:function(e,n){var i=this._,l=YN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Mx.hasOwnProperty(n)?{space:Mx[n],local:e}:e}function $N(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===mp&&n.documentElement.namespaceURI===mp?n.createElement(e):n.createElementNS(i,e)}}function XN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fb(e){var n=sc(e);return(n.local?XN:$N)(n)}function FN(){}function Yp(e){return e==null?FN:function(){return this.querySelector(e)}}function PN(e){typeof e!="function"&&(e=Yp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function vk(e){e||(e=bk);function n(p,x){return p&&x?e(p.__data__,x.__data__):!p-!x}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function wk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Sk(){return Array.from(this)}function _k(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Dk:typeof n=="function"?Lk:Rk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Jb(e).getComputedStyle(e,null).getPropertyValue(n)}function Bk(e){return function(){delete this[e]}}function qk(e,n){return function(){this[e]=n}}function Uk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Ik(e,n){return arguments.length>1?this.each((n==null?Bk:typeof n=="function"?Uk:qk)(e,n)):this.node()[e]}function Wb(e){return e.trim().split(/^|\s+/)}function Gp(e){return e.classList||new ew(e)}function ew(e){this._node=e,this._names=Wb(e.getAttribute("class")||"")}ew.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function tw(e,n){for(var i=Gp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function mC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function gp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}gp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function NC(e){return!e.ctrlKey&&!e.button}function kC(){return this.parentNode}function CC(e,n){return n??{x:e.x,y:e.y}}function TC(){return navigator.maxTouchPoints||"ontouchstart"in this}function ow(){var e=NC,n=kC,i=CC,l=TC,o={},s=oc("start","drag","end"),u=0,f,d,h,m,p=0;function x(A){A.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,EC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(A,B){if(!(m||!e.call(this,A,B))){var T=_(this,n.call(this,A,B),A,B,"mouse");T&&(yn(A.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),lw(A.view),$d(A),h=!1,f=A.clientX,d=A.clientY,T("start",A))}}function w(A){if($l(A),!h){var B=A.clientX-f,T=A.clientY-d;h=B*B+T*T>p}o.mouse("drag",A)}function k(A){yn(A.view).on("mousemove.drag mouseup.drag",null),aw(A.view,h),$l(A),o.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var T=A.changedTouches,q=n.call(this,A,B),M=T.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?bu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?bu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=AC.exec(e))?new nn(n[1],n[2],n[3],1):(n=MC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=jC.exec(e))?bu(n[1],n[2],n[3],n[4]):(n=OC.exec(e))?bu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=DC.exec(e))?Bx(n[1],n[2]/100,n[3]/100,1):(n=RC.exec(e))?Bx(n[1],n[2]/100,n[3]/100,n[4]):jx.hasOwnProperty(e)?Rx(jx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Rx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function bu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function BC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function yp(e,n,i,l){return arguments.length===1?BC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}$p(nn,yp,sw(qo,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Gu(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:Lx,formatHex:Lx,formatHex8:qC,formatRgb:Hx,toString:Hx}));function Lx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function qC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Hx(){const e=Gu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Gu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Bx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Hn(e,n,i,l)}function uw(e){if(e instanceof Hn)return new Hn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Hn;if(e instanceof Hn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Hn(u,f,d,e.opacity)}function UC(e,n,i,l){return arguments.length===1?uw(e):new Hn(e,n,i,l??1)}function Hn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}$p(Hn,UC,sw(qo,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new Hn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Hn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Xd(e>=240?e-240:e+120,o,l),Xd(e,o,l),Xd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Hn(qx(this.h),wu(this.s),wu(this.l),Gu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Gu(this.opacity);return`${e===1?"hsl(":"hsla("}${qx(this.h)}, ${wu(this.s)*100}%, ${wu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function qx(e){return e=(e||0)%360,e<0?e+360:e}function wu(e){return Math.max(0,Math.min(1,e||0))}function Xd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Xp=e=>()=>e;function IC(e,n){return function(i){return e+i*n}}function VC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function YC(e){return(e=+e)==1?cw:function(n,i){return i-n?VC(n,i,e):Xp(isNaN(n)?i:n)}}function cw(e,n){var i=n-e;return i?IC(e,i):Xp(isNaN(e)?n:e)}const $u=(function e(n){var i=YC(n);function l(o,s){var u=i((o=yp(o)).r,(s=yp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=cw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function GC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Fd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),x.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,x){h!==m?x.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,x,v,w){if(h!==p||m!==x){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,x)})}else(p!==1||x!==1)&&v.push(o(v)+"scale("+p+","+x+")")}return function(h,m){var p=[],x=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,x),u(h.rotate,m.rotate,p,x),f(h.skewX,m.skewX,p,x),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,x),h=m=null,function(v){for(var w=-1,k=x.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Vx(){Gi=(Fu=To.now())+uc,Kl=po=0;try{l3()}finally{Kl=0,o3(),Gi=0}}function a3(){var e=To.now(),n=e-Fu;n>pw&&(uc-=n,Fu=e)}function o3(){for(var e,n=Xu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Xu=i);mo=e,bp(l)}function bp(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Vx,e-To.now()-uc)),io&&(io=clearInterval(io))):(io||(Fu=To.now(),io=setInterval(a3,pw)),Kl=1,mw(Vx))}}function Yx(e,n,i){var l=new Pu;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var s3=oc("start","end","cancel","interrupt"),u3=[],yw=0,Gx=1,wp=2,Ru=3,$x=4,Sp=5,Lu=6;function cc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;c3(e,i,{name:n,index:l,group:o,on:s3,tween:u3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:yw})}function Pp(e,n){var i=Yn(e,n);if(i.state>yw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Ru)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function c3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=gw(s,0,i.time);function s(h){i.state=Gx,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,x,v;if(i.state!==Gx)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Ru)return Yx(u);v.state===$x?(v.state=Lu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mwp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function U3(e,n,i){var l,o,s=q3(n)?Pp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function I3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(U3(i,e,n))}function V3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Y3(){return this.on("end.remove",V3(this._id))}function G3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Yp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function mT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var fc=new Cr(1,0,0);ww.prototype=Cr.prototype;function ww(e){for(;!e.__zoom;)if(!(e=e.parentNode))return fc;return e.__zoom}function Pd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function gT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function yT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Xx(){return this.__zoom||fc}function xT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function vT(){return navigator.maxTouchPoints||"ontouchstart"in this}function bT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function Sw(){var e=gT,n=yT,i=bT,l=xT,o=vT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Du,h=oc("start","zoom","end"),m,p,x,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Xx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Xx),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?A(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),F=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,F),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?A(J):typeof $=="function"?$.apply(this,arguments):$;return i(fc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function A(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=T(Z,J).event($),U=n.apply(Z,J),F=D==null?A(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),V=Z.__zoom,P=typeof G=="function"?G.apply(Z,J):G,K=d(V.invert(F).concat(N/V.k),P.invert(F).concat(N/P.k));return function(ne){if(ne===1)ne=P;else{var re=K(ne),se=N/re[2];ne=new Cr(se,F[0]-re[0]*se,F[1]-re[1]*se)}j.zoom(null,ne)}})}function T(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=yn(this.that).datum();h.call(L,this.that,new mT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=T(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Ln(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Hu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(x||!e.apply(this,arguments))return;var D=L.currentTarget,$=T(this,G,!0).event(L),Z=yn(L.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",N,!0),J=Ln(L,D),j=L.clientX,U=L.clientY;lw(L.view),Pd(L),$.mouse=[J,this.__zoom.invert(J)],Hu(this),$.start();function F(V){if(lo(V),!$.moved){var P=V.clientX-j,K=V.clientY-U;$.moved=P*P+K*K>k}$.event(V).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Ln(V,D),$.mouse[1]),$.extent,u))}function N(V){Z.on("mousemove.zoom mouseup.zoom",null),aw(V.view,$.moved),lo(V),$.event(V).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Ln(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?yn(this).transition().duration(f).call(B,j,$,L):yn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=T(this,G,L.changedTouches.length===$).event(L),J,j,U,F;for(Pd(L),j=0;j<$;++j)U=D[j],F=Ln(U,this),F=[F,this.__zoom.invert(F),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==F[2]&&(Z.touch1=F,Z.taps=0):(Z.touch0=F,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=F[0],m=setTimeout(function(){m=null},v)),Hu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=T(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,F;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],_w=["Enter"," ","Escape"],Ew={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Nw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Qu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Qu||(Qu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function kw(e){return e===null?null:e?"valid":"invalid"}const Cw=e=>"id"in e&&"source"in e&&"target"in e,wT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zp=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},ST=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):Zp(o)?o:n.nodeLookup.get(o.id));const f=u?Zu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return dc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return hc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=dc(i,Zu(o)),l=!0)}),l?hc(i):{x:0,y:0,width:0,height:0}},Kp=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:x=!1}=h;if(u&&!p||x)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},_T=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function ET(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function NT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=ET(e,u),d=Io(f),h=Jp(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Tw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const x=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:x.x-d+(u.measured.width??0)*m[0],y:x.y-h+(u.measured.height??0)*m[1]},positionAbsolute:x}}async function kT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(x=>x.id)),u=[];for(const x of i){if(x.deletable===!1)continue;const v=s.has(x.id),w=!v&&x.parentId&&u.find(k=>k.id===x.parentId);(v||w)&&u.push(x)}const f=new Set(n.map(x=>x.id)),d=l.filter(x=>x.deletable!==!1),m=_T(u,d);for(const x of d)f.has(x.id)&&!m.find(w=>w.id===x.id)&&m.push(x);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function zw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Px=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,Aw=(e,n,i=15,l=40)=>{const o=Px(e.x,l,n.width-l)*i,s=Px(e.y,l,n.height-l)*i;return[o,s]},dc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),_p=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),hc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=Zp(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Zu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=Zp(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Mw=(e,n)=>hc(dc(_p(e),_p(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Qx=e=>Bn(e.width)&&Bn(e.height)&&Bn(e.x)&&Bn(e.y),Bn=e=>!isNaN(e)&&isFinite(e),CT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},Ku=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function TT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function zT(e,n,i,l,o,s){const{x:u,y:f}=Ku(e,[n,i,l]),{x:d,y:h}=Ku({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const Jp=(e,n,i,l,o,s)=>{const u=TT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,x=e.y+e.height/2,v=n/2-p*m,w=i/2-x*m,k=zT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function jw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Ow(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Zx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function AT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function MT(e){return{...Ew,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=qn(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const Wp=e=>({width:e.offsetWidth,height:e.offsetHeight}),Dw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},jT=["INPUT","SELECT","TEXTAREA"];function Rw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:jT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Lw=e=>"clientX"in e,qn=(e,n)=>{var s,u;const i=Lw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Kx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...Wp(u)}})};function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Eu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Jx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Eu(n-l,s),i];case we.Right:return[n+Eu(l-n,s),i];case we.Top:return[n,i-Eu(i-o,s)];case we.Bottom:return[n,i+Eu(o-i,s)]}}function em({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Jx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Jx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,x,v,w]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,x,v,w]}function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const RT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,LT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),HT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||RT;let o;return Cw(e)?o={...e}:o={...e,id:l(e)},LT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function qw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Bw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const Wx={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},BT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function qT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=Wx[n],d=Wx[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=BT({source:h,sourcePosition:n,target:m}),x=p.x!==0?"x":"y",v=p[x];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,A]=Bw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[x]*d[x]===-1){x==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[x]===v?w=x==="x"?T:q:w=x==="x"?q:T}else{const T=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(x==="x"?w=f.x===v?q:T:w=f.y===v?T:q,n===l){const I=Math.abs(e[x]-i[x]);if(I<=s){const ee=Math.min(s-1,s-I);f[x]===v?E[x]=(h[x]>e[x]?-1:1)*ee:z[x]=(m[x]>i[x]?-1:1)*ee}}if(n!==l){const I=x==="x"?"y":"x",ee=f[x]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,A]}function UT(e,n,i,l){const o=Math.min(ev(e,n)/2,ev(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let A="";return _>0&&_i.id===n):e[0])||null}function Np(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function VT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Np(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Uw=1e3,YT=10,tm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},GT={...tm,checkEquality:!0};function nm(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function $T(e,n,i){const l=nm(tm,i);for(const o of e.values())if(o.parentId)im(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function XT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function rm(e){return e==="manual"}function kp(e,n,i,l={}){var h,m;const o=nm(GT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!rm(o.zIndexMode)?Uw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let x=u.get(p.id);if(o.checkEquality&&p===(x==null?void 0:x.internals.userNode))n.set(p.id,x);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));x={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:XT(p,x),z:Iw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,x)}(x.measured===void 0||x.measured.width===void 0||x.measured.height===void 0)&&!x.hidden&&(d=!1),p.parentId&&im(x,n,i,l,s)}return d}function FT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function im(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=nm(tm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}FT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*YT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!rm(d)?Uw:0,{x,y:v,z:w}=PT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=x!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x,y:v}:k,z:w}})}function Iw(e,n,i){const l=Bn(e.zIndex)?e.zIndex:0;return rm(i)?l:l+(e.selected?n:0)}function PT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=zw(p,d,n));const x=Iw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=x?v+1:x}}function lm(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Mw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),x=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(A=>{e.some(B=>B.id===A.id)||o.push({id:A.id,type:"position",position:{x:A.position.x+v,y:A.position.y+w}})})),(p.width0){const v=lm(x,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function ZT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function iv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Vw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;iv("source",d,m,e,o,u),iv("target",d,h,e,s,f),n.set(l.id,l)}}function Yw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Yw(i,n):!1}function lv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function KT(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Yw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Qd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function JT({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function WT({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,x=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:A,isSelectable:B,nodeId:T,nodeClickDistance:q=0}){x=yn(A);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:F}=n();s={x:I,y:ee};let N=!1;const V=f.size>1,P=V&&G?_p(Io(f)):null,K=V&&$?JT({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ge=null;if(V&&G&&!re.extent&&P){const{positionAbsolute:he}=re.internals,_e=he.x-P.x+G[0][0],Me=he.x+re.measured.width-P.x2+G[1][0],Ce=he.y-P.y+G[0][1],st=he.y+re.measured.height-P.y2+G[1][1];ge=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:ye}=Tw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ge||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=ye}if(w=w||N,!!N&&(F(f,!0),k&&(l||J||!T&&j))){const[ne,re]=Qd({nodeId:T,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),T||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=Aw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var V;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:F}=n();p=!0,(!J||!B)&&!L&&T&&((V=ee.get(T))!=null&&V.selected||F()),B&&J&&T&&(e==null||e(T));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=KT(ee,G,N,T),f.size>0&&(i||j||!T&&U)){const[P,K]=Qd({nodeId:T,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,P,K),j==null||j(I.sourceEvent,P,K),T||U==null||U(I.sourceEvent,K)}}const H=ow().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=qn(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=qn(I.sourceEvent,m),U=j.x-h.x,F=j.y-h.y;Math.sqrt(U*U+F*F)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=qn(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!T&&D){const[$,Z]=Qd({nodeId:T,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),T||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!lv(ee,`.${z}`,A))&&(!_||lv(ee,_,A))});x.call(H)}function E(){x==null||x.on(".drag",null)}return{update:S,destroy:E}}function ez(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const tz=250;function nz(e,n,i,l){var f,d;let o=[],s=1/0;const u=ez(e,i,n+tz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(x-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Gw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(x=>x.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function $w(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function rz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Xw=()=>!0;function iz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:x,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=Xw,onReconnectEnd:z,updateConnection:_,getTransform:A,getFromHandle:B,autoPanSpeed:T,dragThreshold:q=1,handleDomNode:M}){const R=Dw(e.target);let X=0,H;const{x:I,y:ee}=qn(e),L=$w(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Gw(o,L,l,d,n);if(!$)return;let Z=qn(e,G),J=!1,j=null,U=!1,F=null;function N(){if(!m||!G)return;const[ve,ye]=Aw(Z,G,T);x({x:ve,y:ye}),X=requestAnimationFrame(N)}const V={...$,nodeId:o,type:L,position:$.position},P=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(P,V,we.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:P,to:Z,toHandle:null,toPosition:Fx[V.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=qn(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!V){ge(ve);return}const ye=A();Z=qn(ve,G),H=nz(Yo(Z,ye,!1,[1,1]),i,d,V),J||(N(),J=!0);const he=Fw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});F=he.handleDomNode,j=he.connection,U=rz(!!H,he.isValid);const _e=d.get(o),Me=_e?Xi(_e,V,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:he.toHandle&&U?Ku({x:he.toHandle.x,y:he.toHandle.y},ye):Z,toHandle:he.toHandle,toPosition:U&&he.toHandle?he.toHandle.position:Fx[V.position],toNode:he.toHandle?d.get(he.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ge(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||F)&&j&&U&&(k==null||k(j));const{inProgress:ye,...he}=ne,_e={...he,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,F=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ge),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ge)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ge),R.addEventListener("touchmove",se),R.addEventListener("touchend",ge)}function Fw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Xw,nodeLookup:m}){const p=s==="target",x=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=qn(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:x,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=$w(void 0,S),_=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?A:o,target:p?l:_,targetHandle:p?o:A};E.connection=q;const R=B&&T&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||A!==o);E.isValid=R&&h(q),E.toHandle=Gw(_,z,A,m,i,!0)}return E}const Cp={onPointerDown:iz,isValid:Fw};function lz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=yn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:x=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const A=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=A[2]*Math.pow(2,T*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const A=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(A[2],Math.log(A[2]))*(v?-1:1),M={x:A[0]-T[0]*q,y:A[1]-T[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:A[2]},R,f)},z=Sw().on("start",S).on("zoom",p?E:null).on("zoom.wheel",x?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Ln}}const pc=e=>({x:e.x,y:e.y,zoom:e.k}),Zd=({x:e,y:n,zoom:i})=>fc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),az=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Kd=(e,n=0,i=az,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Qw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function oz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Ln(m),E=Qw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const x=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*x,w=o===Ii.Horizontal?0:m.deltaY*x;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*x,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=pc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function sz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function uz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=pc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function cz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,pc(s.transform)))}}function fz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=pc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function dz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const x=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!x&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!x&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function hz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=Sw().scaleExtent([n,i]).translateExtent(l),x=yn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=x.on("wheel.zoom"),w=x.on("dblclick.zoom");p.wheelDelta(Qw);function k(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).transform(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:F,zoomActivationKeyPressed:N,lib:V,onTransformChange:P,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!Bn(ne)||ne<0?0:ne);const ge=se?oz({zoomPanValues:h,noWheelClassName:H,d3Selection:x,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):sz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(x.on("wheel.zoom",ge,{passive:!1}),!L){const ye=uz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",ye);const he=cz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:P});p.on("zoom",he);const _e=fz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=dz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:F,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:V,connectionInProgress:K});p.filter(ve),F?x.on("dblclick.zoom",w):x.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Zd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Zd(H);return await k(ee,I),new Promise(L=>L(ee))}function A(H){if(x){const I=Zd(H),ee=x.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(x,I,null,{sync:!0}))}}function B(){const H=x?ww(x.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function T(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).scaleTo(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).scaleBy(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!Bn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:T,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:A,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function pz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function av(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Nu(e,n,i){return Math.max(0,n-e,e-i)}function ov(e,n){return e?!n:n}function mz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,x=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:A,width:B,height:T,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=T+(h?-R:R),I=-s[0]*B,ee=-s[1]*T;let L=Nu(X,k,S),G=Nu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(A+R+ee,u[0][1]):!h&&R>0&&(J=si(A+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(A+R,f[0][1]):!h&&R<0&&(J=oi(A+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Nu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&x?J=si(A+ee+X/q,u[1][1])*q:J=oi(A+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&x?J=oi(A+X/q,f[1][1])*q:J=si(A+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Nu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&x?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&x?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(x?X>H*q?R=(ov(d,h)?-M:M)/q:M=(ov(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?A+R:A;return{width:B+(d?-M:M),height:T+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Zw={width:0,height:0,x:0,y:0},gz={...Zw,pointerX:0,pointerY:0,aspectRatio:1};function yz(e){return[[0,0],[e.measured.width,e.measured.height]]}function xz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function vz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=yn(e);let u={controlDirection:av("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:x,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Zw},z={...gz};u={boundaries:m,resizeDirection:x,keepAspectRatio:p,controlDirection:av(h)};let _,A=null,B=[],T,q,M,R=!1;const X=ow().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;A=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:A});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=I.get(_.parentId),q=T&&_.extent==="parent"?yz(T):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const F=xz(U,_,U.origin??D);M?M=[[Math.min(F[0][0],M[0][0]),Math.min(F[0][1],M[0][1])],[Math.max(F[1][0],M[1][0]),Math.max(F[1][1],M[1][1])]]:M=F}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:A}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,F={},N=_.origin??G,{width:V,height:P,x:K,y:ne}=mz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=V!==j,se=P!==U,ge=K!==Z&&re,ve=ne!==J&&se;if(!ge&&!ve&&!re&&!se)return;if((ge||ve||N[0]===1||N[1]===1)&&(F.x=ge?K:E.x,F.y=ve?ne:E.y,E.x=F.x,E.y=F.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(V-j),y:st.position.y-Ce+N[1]*(P-U)},$.push(st)}if((re||se)&&(F.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?V:E.width,F.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?P:E.height,E.width=F.width,E.height=F.height),T&&_.expandParent){const Me=N[0]*(F.width??0);F.x&&F.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var Jd={exports:{}},Wd={},eh={exports:{}},th={};/** - * @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 sv;function bz(){if(sv)return th;sv=1;var e=Lo();function n(p,x){return p===x&&(p!==0||1/p===1/x)||p!==p&&x!==x}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,x){var v=x(),w=l({inst:{value:v,getSnapshot:x}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=x,d(k)&&S({inst:k})},[p,v,x]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var x=p.getSnapshot;p=p.value;try{var v=x();return!i(p,v)}catch{return!0}}function h(p,x){return x()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return th.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,th}var uv;function wz(){return uv||(uv=1,eh.exports=bz()),eh.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 cv;function Sz(){if(cv)return Wd;cv=1;var e=Lo(),n=wz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return Wd.useSyncExternalStoreWithSelector=function(h,m,p,x,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(T){if(!z){if(z=!0,_=T,T=x(T),v!==void 0&&k.hasValue){var q=k.value;if(v(q,T))return A=q}return A=T}if(q=A,l(_,T))return q;var M=x(T);return v!==void 0&&v(q,M)?(_=T,q):(_=T,A=M)}var z=!1,_,A,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,x,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},Wd}var fv;function _z(){return fv||(fv=1,Jd.exports=Sz()),Jd.exports}var Ez=_z();const Nz=Ro(Ez),kz={},dv=e=>{let n;const i=new Set,l=(m,p)=>{const x=typeof m=="function"?m(n):m;if(!Object.is(x,n)){const v=n;n=p??(typeof x!="object"||x===null)?x:Object.assign({},n,x),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(kz?"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()}},h=n=e(l,o,d);return d},Cz=e=>e?dv(e):dv,{useDebugValue:Tz}=ql,{useSyncExternalStoreWithSelector:zz}=Nz,Az=e=>e;function Kw(e,n=Az,i){const l=zz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Tz(l),l}const hv=(e,n)=>{const i=Cz(e),l=(o,s=n)=>Kw(i,o,s);return Object.assign(l,i),l},Mz=(e,n)=>e?hv(e,n):hv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var jz=wb();const mc=Y.createContext(null),Oz=mc.Provider,Jw=tr.error001();function Ie(e,n){const i=Y.useContext(mc);if(i===null)throw new Error(Jw);return Kw(i,e,n)}function ht(){const e=Y.useContext(mc);if(e===null)throw new Error(Jw);return Y.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const pv={display:"none"},Dz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ww="react-flow__node-desc",eS="react-flow__edge-desc",Rz="react-flow__aria-live",Lz=e=>e.ariaLiveMessage,Hz=e=>e.ariaLabelConfig;function Bz({rfId:e}){const n=Ie(Lz);return b.jsx("div",{id:`${Rz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Dz,children:n})}function qz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Hz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Ww}-${e}`,style:pv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${eS}-${e}`,style:pv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Bz,{rfId:e})]})}const gc=Y.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});gc.displayName="Panel";function Uz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(gc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Iz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},ku=e=>e.id;function Vz(e,n){return dt(e.selectedNodes.map(ku),n.selectedNodes.map(ku))&&dt(e.selectedEdges.map(ku),n.selectedEdges.map(ku))}function Yz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Iz,Vz);return Y.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Gz=e=>!!e.onSelectionChangeHandlers;function $z({onSelectionChange:e}){const n=Ie(Gz);return e||n?b.jsx(Yz,{onSelectionChange:e}):null}const tS=[0,0],Xz={x:0,y:0,zoom:1},Fz=["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"],mv=[...Fz,"rfId"],Pz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),gv={translateExtent:zo,nodeOrigin:tS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Qz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Pz,dt),h=ht();Y.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=gv,f()}),[]);const m=Y.useRef(gv);return Y.useEffect(()=>{for(const p of mv){const x=e[p],v=m.current[p];x!==v&&(typeof e[p]>"u"||(p==="nodes"?n(x):p==="edges"?i(x):p==="minZoom"?l(x):p==="maxZoom"?o(x):p==="translateExtent"?s(x):p==="nodeExtent"?u(x):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:MT(x)}):p==="fitView"?h.setState({fitViewQueued:x}):p==="fitViewOptions"?h.setState({fitViewOptions:x}):h.setState({[p]:x})))}m.current=e},mv.map(p=>e[p])),null}function yv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Zz(e){var l;const[n,i]=Y.useState(e==="system"?null:e);return Y.useEffect(()=>{if(e!=="system"){i(e);return}const o=yv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=yv())!=null&&l.matches?"dark":"light"}const xv=typeof document<"u"?document:null;function Oo(e=null,n={target:xv,actInsideInputWithModifier:!0}){const[i,l]=Y.useState(!1),o=Y.useRef(!1),s=Y.useRef(new Set([])),[u,f]=Y.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` -`).replace(` - -`,` -+`).split(` -`)),m=h.reduce((p,x)=>p.concat(...x),[]);return[h,m]}return[[],[]]},[e]);return Y.useEffect(()=>{const d=(n==null?void 0:n.target)??xv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Rw(v))return!1;const k=bv(v.code,f);if(s.current.add(v[k]),vv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=bv(v.code,f);vv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},x=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",x),window.addEventListener("contextmenu",x),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",x),window.removeEventListener("contextmenu",x)}}},[e,l]),i}function vv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function bv(e,n){return n.includes(e)?"code":"key"}const Kz=()=>{const e=ht();return Y.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=Jp(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=Ku(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function nS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)Jz(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function Jz(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function rS(e,n){return nS(e,n)}function iS(e,n){return nS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function wv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Sv(e){return{id:e.id,type:"remove"}}const _v=e=>wT(e),Wz=e=>Cw(e);function lS(e){return Y.forwardRef(e)}const eA=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function Ev(e){const[n,i]=Y.useState(BigInt(0)),[l]=Y.useState(()=>tA(()=>i(o=>o+BigInt(1))));return eA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function tA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const aS=Y.createContext(null);function nA({children:e}){const n=ht(),i=Y.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:x,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=wv({items:k,lookup:x});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Ev(i),o=Y.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:x}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(wv({items:v,lookup:x}))},[]),s=Ev(o),u=Y.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(aS.Provider,{value:u,children:e})}function rA(){const e=Y.useContext(aS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const iA=e=>!!e.panZoom;function Go(){const e=Kz(),n=ht(),i=rA(),l=Ie(iA),o=Y.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:x,nodeOrigin:v}=n.getState(),w=_v(p)?p:x.get(p.id),k=w.parentId?Ow(w.position,w.measured,w.parentId,x,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,x,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof x=="function"?x(k):x;return v.replace&&_v(S)?S:{...k,...S}}return k}))},m=(p,x,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof x=="function"?x(k):x;return v.replace&&Wz(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var x;return(x=s(p))==null?void 0:x.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(x=>({...x}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const x=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...x])},addEdges:p=>{const x=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...x])},toObject:()=>{const{nodes:p=[],edges:x=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:x.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:x=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:A}=n.getState(),{nodes:B,edges:T}=await kT({nodesToRemove:p,edgesToRemove:x,nodes:v,edges:w,onBeforeDelete:A}),q=T.length>0,M=B.length>0;if(q){const R=T.map(Sv);S==null||S(T),z(R)}if(M){const R=B.map(Sv);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,x=!0,v)=>{const w=Qx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),A=Mo(_,k);return x&&A>0||A>=_.width*_.height||A>=k.width*k.height}):[]},isNodeIntersecting:(p,x,v=!0)=>{const k=Qx(p)?p:d(p);if(!k)return!1;const S=Mo(k,x);return v&&S>0||S>=x.width*x.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,x,v={replace:!1})=>{h(p,w=>{const k=typeof x=="function"?x(w):x;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,x,v={replace:!1})=>{m(p,w=>{const k=typeof x=="function"?x(w):x;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:x,nodeOrigin:v}=n.getState();return ST(p,{nodeLookup:x,nodeOrigin:v})},getHandleConnections:({type:p,id:x,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${x?`-${x}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:x,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?x?`-${p}-${x}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const x=n.getState().fitViewResolver??AT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:x}),i.nodeQueue.push(v=>[...v]),x.promise}}},[]);return Y.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Nv=e=>e.selected,lA=typeof window<"u"?window:void 0;function aA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:lA});Y.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Nv),edges:u.filter(Nv)}),i.setState({nodesSelectionActive:!1})}},[o]),Y.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function oA(e){const n=ht();Y.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=Wp(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const yc={position:"absolute",width:"100%",height:"100%",top:0,left:0},sA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function uA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:x,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:A}){const B=ht(),T=Y.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(sA,dt),X=Oo(x),H=Y.useRef();oA(T);const I=Y.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return Y.useEffect(()=>{if(T.current){H.current=hz({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:T.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),Y.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:A,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,A,_]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:yc,children:w})}const cA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function fA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(cA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const nh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},dA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function hA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:x,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(dA,dt),A=E&&(e||S),B=Y.useRef(null),T=Y.useRef(),q=Y.useRef(new Set),M=Y.useRef(new Set),R=Y.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var P,K;const{domNode:J}=k.getState();if(T.current=J==null?void 0:J.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(P=Z.target)==null?void 0:P.setPointerCapture)==null||K.call(P,Z.pointerId),R.current=!1;const{x:N,y:V}=qn(Z.nativeEvent,T.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:V,x:N,y:V}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:F,connectionLookup:N,triggerNodeChanges:V,triggerEdgeChanges:P,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!T.current||!J)return;const{x:re,y:se}=qn(Z.nativeEvent,T.current),{startX:ge,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ge,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const ye={startX:ge,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=F.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Zx(he,q.current)){const Ce=Vl(U,q.current,!0);V(Ce)}if(!Zx(_e,M.current)){const Ce=Vl(F,M.current);P(Ce)}k.setState({userSelectionRect:ye,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:A?void 0:nh(X,B),onContextMenu:nh(H,B),onWheel:nh(I,B),onPointerEnter:A?void 0:p,onPointerMove:A?G:x,onPointerUp:A?D:void 0,onPointerDownCapture:A?L:void 0,onClickCapture:A?ee:void 0,onPointerLeave:v,ref:B,style:yc,children:[w,b.jsx(fA,{})]})}function Tp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function oS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=Y.useState(!1),m=Y.useRef();return Y.useEffect(()=>{m.current=WT({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Tp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),Y.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const pA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function sS(){const e=ht();return Y.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,x=pA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!x(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:A}=Tw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=A,p.set(E.id,E)}d(p)},[])}const am=Y.createContext(null),mA=am.Provider;am.Consumer;const uS=()=>Y.useContext(am),gA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),yA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function xA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...x},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=uS(),{connectOnClick:z,noPanClassName:_,rfId:A}=Ie(gA,dt),{connectingFrom:B,connectingTo:T,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(yA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:F,setEdges:N}=S.getState();N(HT(U,F))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Lw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Cp.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,F;return(F=(U=S.getState()).onConnectEnd)==null?void 0:F.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,F;return((F=(U=S.getState()).isValidConnection)==null?void 0:F.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:F,lib:N,rfId:V,nodeLookup:P,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Dw($.target),re=i||F,{connection:se,isValid:ge}=Cp.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:V,doc:ne,lib:N,nodeLookup:P});ge&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${A}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:T,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...x,children:d})}const ln=Y.memo(lS(xA));function vA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(ln,{type:"source",position:i,isConnectable:n})]})}function bA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(ln,{type:"source",position:l,isConnectable:n})]})}function wA(){return null}function SA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Ju={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},kv={input:vA,default:bA,output:SA,group:wA};function _A(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const EA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:Bn(n)?n:null,height:Bn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function NA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(EA,dt),d=sS(),h=Y.useRef(null);Y.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(oS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,x=v=>{Object.prototype.hasOwnProperty.call(Ju,v.key)&&(v.preventDefault(),d({direction:Ju[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:x,style:{width:o,height:s}})})}const Cv=typeof window<"u"?window:void 0,kA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function cS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:x,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(kA,dt),F=Oo(h,{target:Cv}),N=Oo(k,{target:Cv}),V=N||M,P=N||A,K=m&&V!==!0,ne=F||U||K;return aA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(uA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:P,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:!F&&V,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(hA,{onSelectionStart:x,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:V,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:F,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(NA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}cS.displayName="FlowRenderer";const CA=Y.memo(cS),TA=e=>n=>e?Kp(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function zA(e){return Ie(Y.useCallback(TA(e),[e]),dt)}const AA=e=>e.updateNodeInternals;function MA(){const e=Ie(AA),[n]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return Y.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function jA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=Y.useRef(null),u=Y.useRef(null),f=Y.useRef(e.sourcePosition),d=Y.useRef(e.targetPosition),h=Y.useRef(n),m=i&&!!e.internals.handleBounds;return Y.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),Y.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),Y.useEffect(()=>{if(s.current){const p=h.current!==n,x=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||x||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function OA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:x,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:A,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ge=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ge}},dt);let T=_.type||"default",q=(S==null?void 0:S[T])||kv[T];q===void 0&&(z==null||z("003",tr.error003(T)),T="default",q=(S==null?void 0:S.default)||kv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=jw(_),L=jA({node:_,nodeType:T,hasDimensions:ee,resizeObserver:p}),G=oS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:x,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=sS();if(_.hidden)return null;const $=Ar(_),Z=_A(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...A.userNode}):void 0,U=l?re=>l(re,{...A.userNode}):void 0,F=o?re=>o(re,{...A.userNode}):void 0,N=s?re=>s(re,{...A.userNode}):void 0,V=u?re=>u(re,{...A.userNode}):void 0,P=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ge}=I.getState();R&&(!se||!M||ge>0)&&Tp({id:e,store:I,nodeRef:L}),n&&n(re,{...A.userNode})},K=re=>{if(!(Rw(re.nativeEvent)||w)){if(_w.includes(re.key)&&R){const se=re.key==="Escape";Tp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(Ju,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),D({direction:Ju[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ge,autoPanOnNodeFocus:ve,setCenter:ye}=I.getState();if(!ve)return;Kp(new Map([[e,_]]),{x:0,y:0,width:se,height:ge},re,!0).length>0||ye(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:F,onContextMenu:N,onClick:P,onDoubleClick:V,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Ww}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(mA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:T,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:A.z,parentId:_.parentId,...$})})})}var DA=Y.memo(OA);const RA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function fS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(RA,dt),u=zA(e.onlyRenderVisibleElements),f=MA();return b.jsx("div",{className:"react-flow__nodes",style:yc,children:u.map(d=>b.jsx(DA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}fS.displayName="NodeRenderer";const LA=Y.memo(fS);function HA(e){return Ie(Y.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&DT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const BA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},qA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Tv={[Qu.Arrow]:BA,[Qu.ArrowClosed]:qA};function UA(e){const n=ht();return Y.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Tv,e)?Tv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const IA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=UA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},dS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=Y.useMemo(()=>VT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(IA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};dS.displayName="MarkerDefinitions";var VA=Y.memo(dS);function hS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,x]=Y.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=Y.useRef(null);return Y.useEffect(()=>{if(w.current){const k=w.current.getBBox();x({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}hS.displayName="EdgeText";const YA=Y.memo(hS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Bn(n)&&Bn(i)?b.jsx(YA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function zv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function pS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=zv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=zv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,x,v]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,x,v]}function mS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,A]=pS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:A,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const GA=mS({isInternal:!1}),gS=mS({isInternal:!0});GA.displayName="SimpleBezierEdge";gS.displayName="SimpleBezierEdgeInternal";function yS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=Ep({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:k,markerStart:S,interactionWidth:z})})}const xS=yS({isInternal:!1}),vS=yS({isInternal:!0});xS.displayName="SmoothStepEdge";vS.displayName="SmoothStepEdgeInternal";function bS(e){return Y.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(xS,{...i,id:l,pathOptions:Y.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const $A=bS({isInternal:!1}),wS=bS({isInternal:!0});$A.displayName="StepEdge";wS.displayName="StepEdgeInternal";function SS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=qw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:v,markerStart:w,interactionWidth:k})})}const XA=SS({isInternal:!1}),_S=SS({isInternal:!0});XA.displayName="StraightEdge";_S.displayName="StraightEdgeInternal";function ES(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=em({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const FA=ES({isInternal:!1}),NS=ES({isInternal:!0});FA.displayName="BezierEdge";NS.displayName="BezierEdgeInternal";const Av={default:NS,straight:_S,step:wS,smoothstep:vS,simplebezier:gS},Mv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},PA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,QA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,jv="react-flow__edgeupdater";function Ov({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([jv,`${jv}-${f}`]),cx:PA(n,l,e),cy:QA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function ZA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:x,setUpdateHover:v}){const w=ht(),k=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:T,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,F)=>{x(!1),p==null||p(U,i,B.type,F)},J=U=>h==null?void 0:h(i,U),j=(U,F)=>{x(!0),m==null||m(A,i,B.type),H==null||H(U,F)};Cp.onPointerDown(A.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var F,N;return((N=(F=w.getState()).isValidConnection)==null?void 0:N.call(F,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var F,N;return(N=(F=w.getState()).onConnectEnd)==null?void 0:N.call(F,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>k(A,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=A=>k(A,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Ov,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Ov,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function KA({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:x,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(ye=>ye.edgeLookup.get(e));const A=Ie(ye=>ye.defaultEdgeOptions);_=A?{...A,..._}:_;let B=_.type||"default",T=(k==null?void 0:k[B])||Av[B];T===void 0&&(E==null||E("011",tr.error011(B)),B="default",T=(k==null?void 0:k.default)||Av.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=Y.useRef(null),[H,I]=Y.useState(!1),[ee,L]=Y.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F}=Ie(Y.useCallback(ye=>{const he=ye.nodeLookup.get(_.source),_e=ye.nodeLookup.get(_.target);if(!he||!_e)return{zIndex:_.zIndex,...Mv};const Me=IT({id:e,sourceNode:he,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:ye.connectionMode,onError:E});return{zIndex:OT({selected:_.selected,zIndex:_.zIndex,sourceNode:he,targetNode:_e,elevateOnSelect:ye.elevateEdgesOnSelect,zIndexMode:ye.zIndexMode}),...Me||Mv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=Y.useMemo(()=>_.markerStart?`url('#${Np(_.markerStart,w)}')`:void 0,[_.markerStart,w]),V=Y.useMemo(()=>_.markerEnd?`url('#${Np(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const P=ye=>{var Ce;const{addSelectedEdges:he,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):he([e])),o&&o(ye,_)},K=s?ye=>{s(ye,{..._})}:void 0,ne=u?ye=>{u(ye,{..._})}:void 0,re=f?ye=>{f(ye,{..._})}:void 0,se=d?ye=>{d(ye,{..._})}:void 0,ge=h?ye=>{h(ye,{..._})}:void 0,ve=ye=>{var he;if(!z&&_w.includes(ye.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();ye.key==="Escape"?((he=X.current)==null||he.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:P,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ge,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${eS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:V,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(ZA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:x,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F,setUpdateHover:I,setReconnecting:L})]})})}var JA=Y.memo(KA);const WA=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function kS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:x,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(WA,dt),A=HA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(VA,{defaultColor:e,rfId:i}),A.map(B=>b.jsx(JA,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:x,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}kS.displayName="EdgeRenderer";const eM=Y.memo(kS),tM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function nM({children:e}){const n=Ie(tM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function rM(e){const n=Go(),i=Y.useRef(!1);Y.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const iM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function lM(e){const n=Ie(iM),i=ht();return Y.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function aM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function oM(e){return aM}function sM(e){const n=oM();return Ie(n,dt)}const uM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function cM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(uM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",kw(f)]),children:b.jsx(CS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const CS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:x,pointer:v}=sM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:x,connectionStatus:kw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:x};switch(n){case fi.Bezier:[w]=em(k);break;case fi.SimpleBezier:[w]=pS(k);break;case fi.Step:[w]=Ep({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Ep(k);break;default:[w]=qw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};CS.displayName="ConnectionLine";const fM={};function Dv(e=fM){Y.useRef(e),ht(),Y.useEffect(()=>{},[e])}function dM(){ht(),Y.useRef(!1),Y.useEffect(()=>{},[])}function TS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:x,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:F,panOnDrag:N,onPaneClick:V,onPaneMouseEnter:P,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ge,nodeClickDistance:ve,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:me}){return Dv(e),Dv(n),dM(),rM(i),lM(ue),b.jsx(CA,{onPaneClick:V,onPaneMouseEnter:P,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ge,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,onSelectionStart:x,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:F,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,onViewportChange:me,isControlledViewport:!!ue,children:b.jsxs(nM,{children:[b.jsx(eM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:bn,disableKeyboardA11y:An,rfId:Mr}),b.jsx(cM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(LA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:bn,noDragClassName:Ut,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}TS.displayName="GraphView";const hM=Y.memo(TS),Rv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:x="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],A=p??zo;Vw(k,S,E);const B=kp(z,v,w,{nodeOrigin:_,nodeExtent:A,zIndexMode:x});let T=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=Jp(q,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Nw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:CT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ew,zIndexMode:x,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},pM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:x})=>Mz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:A,height:B,minZoom:T,maxZoom:q}=w();E&&(await NT({nodes:S,width:A,height:B,panZoom:E,minZoom:T,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Rv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:x}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:T}=w(),q=kp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:T});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Vw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:A,nodeOrigin:B,nodeExtent:T,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=QT(S,z,_,A,B,T,R);H&&($T(z,_,{nodeOrigin:B,nodeExtent:T,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:A,triggerNodeChanges:B,connection:T,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=A.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&T.inProgress&&T.fromNode.id===H.id){const L=Xi(H,T.fromHandle,we.Left,!0);q({...T,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=lm(z,A,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=rS(S,_);z(T)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=iS(S,_);z(T)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));A(T);return}A(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));B(T);return}B(Vl(z,new Set([...S]))),A(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=A.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),T(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:A}=w();if(!A)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),T=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(T)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:q}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(kp(E,z,_,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:A,translateExtent:B}=w();return ZT({delta:S,panZoom:A,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:A,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await T.setViewport({x:_/2-S*q,y:A/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Nw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Rv()})}},Object.is);function mM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:x,children:v}){const[w]=Y.useState(()=>pM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:x}));return b.jsx(Oz,{value:w,children:b.jsx(nA,{children:v})})}function gM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:x,zIndexMode:v}){return Y.useContext(mc)?b.jsx(b.Fragment,{children:e}):b.jsx(mM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:x,zIndexMode:v,children:e})}const yM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function xM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:x,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:F=fi.Bezier,connectionLineStyle:N,connectionLineComponent:V,connectionLineContainerStyle:P,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ge="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:ye=jo()?"Meta":"Control",snapToGrid:he,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=tS,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At=!0,defaultViewport:Mr=Xz,minZoom:ue=.5,maxZoom:me=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:Mn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:on=!0,onPaneClick:wc,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Sc=0,children:Po,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:_c,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Ec,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Nc,id:fa,nodeDragThreshold:is,connectionDragThreshold:kc,viewport:el,onViewportChange:tl,width:jn,height:Ft,colorMode:ls="light",debug:Cc,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Tc},Pt){const yi=fa||"1",os=Zz(ls),da=Y.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Tc,onScroll:da,style:{...Nc,...yM},ref:Pt,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(gM,{nodes:e,edges:n,width:jn,height:Ft,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:me,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(hM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:F,connectionLineStyle:N,connectionLineComponent:V,connectionLineContainerStyle:P,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ge,zoomActivationKeyCode:ye,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:me,preventScrolling:Re,zoomOnScroll:Mn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:on,onPaneClick:wc,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Sc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:_c,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Qz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:me,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:he,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Ec,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:x,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:kc,onBeforeDelete:j,debug:Cc,ariaLabelConfig:as,zIndexMode:gi}),b.jsx($z,{onSelectionChange:ee}),Po,b.jsx(Uz,{proOptions:mi,position:ts}),b.jsx(qz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var vM=lS(xM);const bM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function wM({children:e}){const n=Ie(bM);return n?jz.createPortal(e,n):null}function SM(e){const[n,i]=Y.useState(e),l=Y.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function _M(e){const[n,i]=Y.useState(e),l=Y.useCallback(o=>i(s=>iS(o,s)),[]);return[n,i,l]}function EM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function NM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const kM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},CM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function zS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=Y.useRef(null),{transform:x,patternId:v}=Ie(CM,dt),w=l||kM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*x[2]||1,E[1]*x[2]||1],_=w*x[2],A=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,T=[A[0]*x[2]||1+B[0]/2,A[1]*x[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...yc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:x[0]%z[0],y:x[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:k?b.jsx(NM,{radius:_/2,className:m}):b.jsx(EM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}zS.displayName="Background";const TM=Y.memo(zS);function zM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function AM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function MM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Cu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const DM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function AS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:x="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(DM,dt),{zoomIn:_,zoomOut:A,fitView:B}=Go(),T=()=>{_(),s==null||s()},q=()=>{A(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=x==="horizontal"?"horizontal":"vertical";return b.jsxs(gc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Cu,{onClick:T,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(zM,{})}),b.jsx(Cu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(AM,{})})]}),i&&b.jsx(Cu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(MM,{})}),l&&b.jsx(Cu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(OM,{}):b.jsx(jM,{})}),m]})}AS.displayName="Controls";const RM=Y.memo(AS);function LM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:x,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:x},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const HM=Y.memo(LM),BM=e=>e.nodes.map(n=>n.id),rh=e=>e instanceof Function?e:()=>e;function qM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=HM,onClick:u}){const f=Ie(BM,dt),d=rh(n),h=rh(e),m=rh(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(x=>b.jsx(IM,{id:x,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},x))})}function UM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:x,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:A}=Ar(S);return{node:S,x:E,y:z,width:_,height:A}},dt);return!h||h.hidden||!jw(h)?null:b.jsx(f,{x:m,y:p,width:x,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const IM=Y.memo(UM);var VM=Y.memo(qM);const YM=200,GM=150,$M=e=>!e.hidden,XM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Mw(Io(e.nodeLookup,{filter:$M}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},FM="react-flow__minimap-desc";function MS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:x="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:A=5}){const B=ht(),T=Y.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(XM,dt),G=(e==null?void 0:e.width)??YM,D=(e==null?void 0:e.height)??GM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,F=A*J,N=q.x-(j-q.width)/2-F,V=q.y-(U-q.height)/2-F,P=j+F*2,K=U+F*2,ne=`${FM}-${R}`,re=Y.useRef(0),se=Y.useRef();re.current=J,Y.useEffect(()=>{if(T.current&&X)return se.current=lz({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var he;(he=se.current)==null||he.destroy()}},[X]),Y.useEffect(()=>{var he;(he=se.current)==null||he.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ge=v?he=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(he))||[0,0];v(he,{x:_e,y:Me})}:void 0,ve=w?Y.useCallback((he,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(he,Me)},[]):void 0,ye=E??L["minimap.ariaLabel"];return b.jsx(gc,{position:x,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${V} ${P} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ge,children:[ye&&b.jsx("title",{id:ne,children:ye}),b.jsx(VM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-F},${V-F}h${P+F*2}v${K+F*2}h${-P-F*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}MS.displayName="MiniMap";const PM=Y.memo(MS),QM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,ZM={[na.Line]:"right",[na.Handle]:"bottom-right"};function KM({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:x,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=uS(),_=typeof e=="string"?e:z,A=ht(),B=Y.useRef(null),T=i===na.Handle,q=Ie(Y.useCallback(QM(T&&v),[T,v]),dt),M=Y.useRef(null),R=n??ZM[i];Y.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=vz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=A.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=A.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,F=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:F,...Ow({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:F},J.parentId,L,j)}},V=lm([N],L,G,D);$.push(...V),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*F,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:x?x==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};A.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:x,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}Y.memo(KM);var ih,Lv;function om(){if(Lv)return ih;Lv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var x=arguments,v=this;return m.forEach(function(w){x.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var x=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(x),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(x),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var x=p;x!==void 0;x=this.parent(x))if(x===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var x of this.successors(m))v.add(x);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var x=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,x.edge(k))});var v={};function w(k){var S=x.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var x=this,v=arguments;return m.reduce(function(w,k){return v.length>1?x.setEdge(w,k,p):x.setEdge(w,k),k}),this}setEdge(){var m,p,x,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,x=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],x=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,x!==void 0&&(x=""+x);var S=u(this._isDirected,m,p,x);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(x!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,x);var E=f(this._isDirected,m,p,x);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var x=this._in[m];if(x){var v=Object.values(x);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var x=this._out[m];if(x){var v=Object.values(x);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var x=this.inEdges(m,p);if(x)return x.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,x){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(x===void 0?e:x)}function f(h,m,p,x){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return x&&(S.name=x),S}function d(h,m){return u(h,m.v,m.w,m.name)}return ih=l,ih}var lh,Hv;function JM(){return Hv||(Hv=1,lh="2.2.4"),lh}var ah,Bv;function WM(){return Bv||(Bv=1,ah={Graph:om(),version:JM()}),ah}var oh,qv;function e4(){if(qv)return oh;qv=1;var e=om();oh={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return oh}var sh,Uv;function t4(){if(Uv)return sh;Uv=1,sh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return sh}var uh,Iv;function jS(){if(Iv)return uh;Iv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,x=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(x);return d}return ch}var fh,Yv;function n4(){if(Yv)return fh;Yv=1;var e=OS();fh=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return fh}var dh,Gv;function DS(){if(Gv)return dh;Gv=1,dh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return dh}var hh,$v;function r4(){if($v)return hh;$v=1;var e=DS();hh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return hh}var ph,Xv;function i4(){if(Xv)return ph;Xv=1,ph=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(x){var v=p[d],w=h[x],k=p[x],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return yh}var xh,Zv;function a4(){if(Zv)return xh;Zv=1;var e=LS();xh=n;function n(i,l){return e(i,l,"post")}return xh}var vh,Kv;function o4(){if(Kv)return vh;Kv=1;var e=LS();vh=n;function n(i,l){return e(i,l,"pre")}return vh}var bh,Jv;function s4(){if(Jv)return bh;Jv=1;var e=om(),n=jS();bh=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var x=p.v===d?p.w:p.v,v=f.priority(x);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return bh}var wh,Wv;function u4(){return Wv||(Wv=1,wh={components:t4(),dijkstra:OS(),dijkstraAll:n4(),findCycles:r4(),floydWarshall:i4(),isAcyclic:l4(),postorder:a4(),preorder:o4(),prim:s4(),tarjan:DS(),topsort:RS()}),wh}var Sh,e1;function Vn(){if(e1)return Sh;e1=1;var e=WM();return Sh={Graph:e.Graph,json:e4(),alg:u4(),version:e.version},Sh}var _h,t1;function c4(){if(t1)return _h;t1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return _h=e,_h}var Eh,n1;function f4(){if(n1)return Eh;n1=1;let e=Vn().Graph,n=c4();Eh=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let x=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){x=x.concat(s(h,m,p,k,!0));break}}}return x}function s(h,m,p,x,v){let w=v?[]:void 0;return h.inEdges(x.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(x.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(x.v),w}function u(h,m){let p=new e,x=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),x=Math.max(x,p.node(S.w).in+=z)});let w=d(v+x+3).map(()=>new n),k=x+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=A(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=x){const X=[];for(let H=0;Hx){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function A(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Nh}var kh,i1;function d4(){if(i1)return kh;i1=1;let e=f4(),n=Ct().uniqueId;kh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return kh}var Ch,l1;function h4(){if(l1)return Ch;l1=1;let e=Ct();Ch={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),x=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ch}var Th,a1;function Wu(){if(a1)return Th;a1=1;const{applyWithChunking:e}=Ct();Th={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Th}var zh,o1;function HS(){if(o1)return zh;o1=1;var e=Vn().Graph,n=Wu().slack;zh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,x=h===p?m.w:p;!u.hasNode(x)&&!n(f,m)&&(u.setNode(x,{}),u.setEdge(h,x,{}),d(x))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return zh}var Ah,s1;function p4(){if(s1)return Ah;s1=1;var e=HS(),n=Wu().slack,i=Wu().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Ah=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=x,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var A,B;A=x(_);)B=v(_,z,A),w(_,z,A,B)}function f(z,_){var A=o(z,z.nodes());A=A.slice(0,A.length-1),A.forEach(B=>d(z,_,B))}function d(z,_,A){var B=z.node(A),T=B.parent;z.edge(A,T).cutvalue=h(z,_,A)}function h(z,_,A){var B=z.node(A),T=B.parent,q=!0,M=_.edge(A,T),R=0;return M||(q=!1,M=_.edge(T,A)),R=M.weight,_.nodeEdges(A).forEach(X=>{var H=X.v===A,I=H?X.w:X.v;if(I!==T){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,A,I)){var G=z.edge(A,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,A,B,T){var q=A,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(A=p(z,_,A,R,B))}),M.low=q,M.lim=A++,T?M.parent=T:delete M.parent,A}function x(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,A){var B=A.v,T=A.w;_.hasEdge(B,T)||(B=A.w,T=A.v);var q=z.node(B),M=z.node(T),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(T).parent),B=l(z,A);B=B.slice(1),B.forEach(T=>{var q=z.node(T).parent,M=_.edge(T,q),R=!1;M||(M=_.edge(q,T),R=!0),_.node(T).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,A){return z.hasEdge(_,A)}function E(z,_,A){return A.low<=_.lim&&_.lim<=A.lim}return Ah}var Mh,u1;function m4(){if(u1)return Mh;u1=1;var e=Wu(),n=e.longestPath,i=HS(),l=p4();Mh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Mh}var jh,c1;function g4(){if(c1)return jh;c1=1,jh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,x=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(x=h[p])!==m&&l.node(x).maxRankh||m>o[p].lim));for(x=p,p=u;(p=l.parent(p))!==x;)d.push(p);return{path:f.concat(d.reverse()),lca:x}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return jh}var Oh,f1;function y4(){if(f1)return Oh;f1=1;let e=Ct();Oh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let x=o(u)+1;u.children().forEach(v=>i(u,f,p,x,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,x){let v=u.children(x);if(!v.length){x!==f&&u.setEdge(f,x,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(x);u.setParent(w,x),S.borderTop=w,u.setParent(k,x),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,A=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,T=_!==A?1:m-p[x]+1;u.setEdge(w,_,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(A,k,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(x)||u.setEdge(f,w,{weight:0,minlen:m+p[x]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(x=>d(x,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Oh}var Dh,d1;function x4(){if(d1)return Dh;d1=1;let e=Ct();Dh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Rh}var Lh,p1;function b4(){if(p1)return Lh;p1=1;let e=Ct();Lh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return Lh}var Hh,m1;function w4(){if(m1)return Hh;m1=1;let e=Ct().zipObject;Hh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(x=>l.outEdges(x).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=x.pos+d;m[v]+=x.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=x.weight;p+=x.weight*w}),p}return Hh}var Bh,g1;function S4(){if(g1)return Bh;g1=1,Bh=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Bh}var qh,y1;function _4(){if(y1)return qh;y1=1;let e=Ct();qh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return qh}var Uh,x1;function E4(){if(x1)return Uh;x1=1;let e=Ct();Uh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,x=0;f.sort(l(!!s)),x=i(h,d,x),f.forEach(w=>{x+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,x=i(h,d,x)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Uh}var Ih,v1;function N4(){if(v1)return Ih;v1=1;let e=S4(),n=_4(),i=E4();Ih=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),x=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};x&&(m=m.filter(z=>z!==x&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(x&&(E.vs=[x,E.vs,v].flat(!0),u.predecessors(x).length)){let z=u.node(u.predecessors(x)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Ih}var Vh,b1;function k4(){if(b1)return Vh;b1=1;let e=Vn().Graph,n=Ct();Vh=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),x=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,x||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return Vh}var Yh,w1;function C4(){if(w1)return Yh;w1=1,Yh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Yh}var Gh,S1;function T4(){if(S1)return Gh;S1=1;let e=b4(),n=w4(),i=N4(),l=k4(),o=C4(),s=Vn().Graph,u=Ct();Gh=f;function f(p,x){if(x&&typeof x.customOrder=="function"){x.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),x&&x.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,A=0;A<4;++_,++A){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return x.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,x){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,x);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,x){Object.values(x).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Gh}var $h,_1;function z4(){if(_1)return $h;_1=1;let e=Vn().Graph,n=Ct();$h={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:x};function i(S,E){let z={};function _(A,B){let T=0,q=0,M=A.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function A(B,T){let q=-1,M,R=0;return T.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(T,R,H,q,M),R=H,q=M)}_(T,R,T.length,M,B.length)}),T}return E.length&&E.reduce(A),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let A=E;E=z,z=A}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let A={},B={},T={};return E.forEach(q=>{q.forEach((M,R)=>{A[M]=M,B[M]=M,T[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>T[I]-T[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+T.edge(ee)),0)}function X(H){let I=T.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-T.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let A=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(A.setNode(X),M){var H=z[M],I=A.edge(H,X);A.setEdge(H,X,Math.max(T(S,R,M),I||0))}M=R})}),A}function m(S,E){return Object.values(E).reduce((z,_)=>{let A=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;A=Math.max(M+R,A),B=Math.min(M-R,B)});const T=A-B;return T{["l","r"].forEach(T=>{let q=B+T,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);T!=="l"&&(X=A-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function x(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let A=Object.values(S).map(B=>B[_]).sort((B,T)=>B-T);return(A[1]+A[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},A;["u","d"].forEach(T=>{A=T==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(A=A.map(H=>Object.values(H).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),R=f(S,A,z,M),X=d(S,A,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[T+q]=X})});let B=m(S,_);return p(_,B),x(_,S.graph().align)}function w(S,E,z){return(_,A,B)=>{let T=_.node(A),q=_.node(B),M=0,R;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":R=-T.width/2;break;case"r":R=T.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(T.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return $h}var Xh,E1;function A4(){if(E1)return Xh;E1=1;let e=Ct(),n=z4().positionX;Xh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const x=o.node(p).height;return m>x?m:x},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Xh}var Fh,N1;function M4(){if(N1)return Fh;N1=1;let e=d4(),n=h4(),i=m4(),l=Ct().normalizeRanks,o=g4(),s=Ct().removeEmptyRanks,u=y4(),f=x4(),d=v4(),h=T4(),m=A4(),p=Ct(),x=Vn().Graph;Fh=v;function v(N,V){let P=V&&V.debugTiming?p.time:p.notime;P("layout",()=>{let K=P(" buildLayoutGraph",()=>M(N));P(" runLayout",()=>w(K,P,V)),P(" updateInputGraph",()=>k(N,K))})}function w(N,V,P){V(" makeSpaceForEdgeLabels",()=>R(N)),V(" removeSelfEdges",()=>Z(N)),V(" acyclic",()=>e.run(N)),V(" nestingGraph.run",()=>u.run(N)),V(" rank",()=>i(p.asNonCompoundGraph(N))),V(" injectEdgeLabelProxies",()=>X(N)),V(" removeEmptyRanks",()=>s(N)),V(" nestingGraph.cleanup",()=>u.cleanup(N)),V(" normalizeRanks",()=>l(N)),V(" assignRankMinMax",()=>H(N)),V(" removeEdgeLabelProxies",()=>I(N)),V(" normalize.run",()=>n.run(N)),V(" parentDummyChains",()=>o(N)),V(" addBorderSegments",()=>f(N)),V(" order",()=>h(N,P)),V(" insertSelfEdges",()=>J(N)),V(" adjustCoordinateSystem",()=>d.adjust(N)),V(" position",()=>m(N)),V(" positionSelfEdges",()=>j(N)),V(" removeBorderNodes",()=>$(N)),V(" normalize.undo",()=>n.undo(N)),V(" fixupEdgeLabelCoords",()=>G(N)),V(" undoCoordinateSystem",()=>d.undo(N)),V(" translateGraph",()=>ee(N)),V(" assignNodeIntersects",()=>L(N)),V(" reversePoints",()=>D(N)),V(" acyclic.undo",()=>e.undo(N))}function k(N,V){N.nodes().forEach(P=>{let K=N.node(P),ne=V.node(P);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,V.children(P).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(P=>{let K=N.edge(P),ne=V.edge(P);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=V.graph().width,N.graph().height=V.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],A={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let V=new x({multigraph:!0,compound:!0}),P=F(N.graph());return V.setGraph(Object.assign({},E,U(P,S),p.pick(P,z))),N.nodes().forEach(K=>{let ne=F(N.node(K));const re=U(ne,_);Object.keys(A).forEach(se=>{re[se]===void 0&&(re[se]=A[se])}),V.setNode(K,re),V.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=F(N.edge(K));V.setEdge(K,Object.assign({},T,U(ne,B),p.pick(ne,q)))}),V}function R(N){let V=N.graph();V.ranksep/=2,N.edges().forEach(P=>{let K=N.edge(P);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(V=>{let P=N.edge(V);if(P.width&&P.height){let K=N.node(V.v),re={rank:(N.node(V.w).rank-K.rank)/2+K.rank,e:V};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let V=0;N.nodes().forEach(P=>{let K=N.node(P);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,V=Math.max(V,K.maxRank))}),N.graph().maxRank=V}function I(N){N.nodes().forEach(V=>{let P=N.node(V);P.dummy==="edge-proxy"&&(N.edge(P.e).labelRank=P.rank,N.removeNode(V))})}function ee(N){let V=Number.POSITIVE_INFINITY,P=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ge=re.marginy||0;function ve(ye){let he=ye.x,_e=ye.y,Me=ye.width,Ce=ye.height;V=Math.min(V,he-Me/2),P=Math.max(P,he+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(ye=>ve(N.node(ye))),N.edges().forEach(ye=>{let he=N.edge(ye);Object.hasOwn(he,"x")&&ve(he)}),V-=se,K-=ge,N.nodes().forEach(ye=>{let he=N.node(ye);he.x-=V,he.y-=K}),N.edges().forEach(ye=>{let he=N.edge(ye);he.points.forEach(_e=>{_e.x-=V,_e.y-=K}),Object.hasOwn(he,"x")&&(he.x-=V),Object.hasOwn(he,"y")&&(he.y-=K)}),re.width=P-V+se,re.height=ne-K+ge}function L(N){N.edges().forEach(V=>{let P=N.edge(V),K=N.node(V.v),ne=N.node(V.w),re,se;P.points?(re=P.points[0],se=P.points[P.points.length-1]):(P.points=[],re=ne,se=K),P.points.unshift(p.intersectRect(K,re)),P.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(V=>{let P=N.edge(V);if(Object.hasOwn(P,"x"))switch((P.labelpos==="l"||P.labelpos==="r")&&(P.width-=P.labeloffset),P.labelpos){case"l":P.x-=P.width/2+P.labeloffset;break;case"r":P.x+=P.width/2+P.labeloffset;break}})}function D(N){N.edges().forEach(V=>{let P=N.edge(V);P.reversed&&P.points.reverse()})}function $(N){N.nodes().forEach(V=>{if(N.children(V).length){let P=N.node(V),K=N.node(P.borderTop),ne=N.node(P.borderBottom),re=N.node(P.borderLeft[P.borderLeft.length-1]),se=N.node(P.borderRight[P.borderRight.length-1]);P.width=Math.abs(se.x-re.x),P.height=Math.abs(ne.y-K.y),P.x=re.x+P.width/2,P.y=K.y+P.height/2}}),N.nodes().forEach(V=>{N.node(V).dummy==="border"&&N.removeNode(V)})}function Z(N){N.edges().forEach(V=>{if(V.v===V.w){var P=N.node(V.v);P.selfEdges||(P.selfEdges=[]),P.selfEdges.push({e:V,label:N.edge(V)}),N.removeEdge(V)}})}function J(N){var V=p.buildLayerMatrix(N);V.forEach(P=>{var K=0;P.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ge=>{p.addDummyNode(N,"selfedge",{width:ge.label.width,height:ge.label.height,rank:se.rank,order:re+ ++K,e:ge.e,label:ge.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(V=>{var P=N.node(V);if(P.dummy==="selfedge"){var K=N.node(P.e.v),ne=K.x+K.width/2,re=K.y,se=P.x-ne,ge=K.height/2;N.setEdge(P.e,P.label),N.removeNode(V),P.label.points=[{x:ne+2*se/3,y:re-ge},{x:ne+5*se/6,y:re-ge},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ge},{x:ne+2*se/3,y:re+ge}],P.label.x=P.x,P.label.y=P.y}})}function U(N,V){return p.mapValues(p.pick(N,V),Number)}function F(N){var V={};return N&&Object.entries(N).forEach(([P,K])=>{typeof P=="string"&&(P=P.toLowerCase()),V[P]=K}),V}return Fh}var Ph,k1;function j4(){if(k1)return Ph;k1=1;let e=Ct(),n=Vn().Graph;Ph={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Ph}var Qh,C1;function O4(){return C1||(C1=1,Qh="1.1.8"),Qh}var Zh,T1;function D4(){return T1||(T1=1,Zh={graphlib:Vn(),layout:M4(),debug:j4(),util:{time:Ct().time,notime:Ct().notime},version:O4()}),Zh}var R4=D4();const z1=Ro(R4),go=200,Yl=56,A1=20,M1=40,L4=20,j1=12;function H4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+A1*2,E=M1+k*Yl+(k-1)*j1+L4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return B4(f,d),{nodes:f,edges:d}}function B4(e,n){var l,o,s,u;const i=new z1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);z1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"},q4=70,O1=90;function sm({data:e,children:n}){const[i,l]=Y.useState(!1),o=Y.useRef(null),s=Y.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=Y.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:In(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const U4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.elapsed}),h=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.model}),m=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.tokens}),p=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.input_tokens}),x=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.output_tokens}),v=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.cost_usd}),w=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.iteration}),k=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_type}),S=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_message}),E=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.context_pct}),z=I4(i,u),_=V4(u),A=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:z,className:"text-[var(--text-muted)]"};if(u==="completed"){const B=[];return d!=null&&B.push(In(d)),m!=null&&B.push(`${Wn(m)} tok`),v!=null&&B.push(Ql(v)),{text:B.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:x,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",_),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(V2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),A.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",A.className),children:A.text})]}),E!=null&&b.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-b-lg overflow-hidden",style:{backgroundColor:"rgba(255,255,255,0.06)"},children:b.jsx("div",{className:Ye("h-full transition-all duration-500",E>=O1?"animate-[context-pulse_2s_ease-in-out_infinite]":""),style:{width:`${Math.min(E,100)}%`,backgroundColor:E>=O1?"#ef4444":E>=q4?"#f59e0b":"#22c55e"}})})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function I4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=Y.useState("0.0s"),s=Y.useRef(null);return Y.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function V4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Y4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),x=G4(i,u),v=$4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:x,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(In(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function G4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=Y.useState("0.0s"),s=Y.useRef(null);return Y.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function $4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const X4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=F4(u);return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function F4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const P4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Z2,f=o.progress,h=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=Q4(h),x=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),x&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:x}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Q4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Z4=Y.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(kb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),K4=Y.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Nb,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),J4=Y.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=xe(R=>R.highlightedEdges),x=Y.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=em({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(x==null?void 0:x.state)==="taken",_=(x==null?void 0:x.state)==="highlighted",A=(x==null?void 0:x.state)==="failed";let B="var(--edge-color)",T=2,q;A?(B="var(--failed)",T=3):z?(B="var(--edge-taken)",T=3):_&&(B="var(--edge-active)",T=3),E&&!z&&!_&&!A&&(q="6 3");const M=A?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(wM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:A?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:A||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${A?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),A&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function W4(){const e=xe(u=>u.workflowStatus),n=xe(u=>u.workflowFailure),i=xe(u=>u.workflowFailedAgent),l=xe(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function e5(){const[e,n]=Y.useState(!1),i=xe(d=>d.workflowStatus),l=xe(d=>d.totalCost),o=xe(d=>d.totalTokens),s=xe(d=>d.agentsCompleted),u=xe(d=>d.agentsTotal),f=Tb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(G2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(nc,{className:"w-3.5 h-3.5"})})]})})}const t5={agentNode:U4,scriptNode:Y4,gateNode:X4,groupNode:P4,endNode:Z4,startNode:K4},n5={animatedEdge:J4},r5={type:"animatedEdge"};function i5(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function l5(){const e=xe(M=>M.agents),n=xe(M=>M.routes),i=xe(M=>M.parallelGroups),l=xe(M=>M.forEachGroups),o=xe(M=>M.nodes),s=xe(M=>M.groupProgress),u=xe(M=>M.selectNode),f=xe(M=>M.selectedNode),d=xe(M=>M.workflowStatus),h=xe(M=>M.entryPoint),m=xe(M=>M.wsStatus),p=xe(M=>M.workflowFailedAgent),[x,v,w]=SM([]),[k,S,E]=_M([]),z=Y.useRef(!1);Y.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=H4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),Y.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=Y.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),A=Y.useCallback(()=>{u(null)},[u]),B=Y.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);Y.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),Y.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(i5,{}),b.jsx(W4,{}),b.jsx(e5,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(vM,{nodes:x,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:A,nodeTypes:t5,edgeTypes:n5,defaultEdgeOptions:r5,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(TM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(PM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(RM,{showInteractive:!1,children:b.jsx(a5,{})}),b.jsx(o5,{})]})]})}function a5(){const{fitView:e}=Go(),n=Y.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(J2,{className:"w-3.5 h-3.5"})})}function o5(){const{fitView:e}=Go();return Y.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function BS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:In(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.context_window_used!=null&&e.context_window_max!=null&&n.push({label:"Context",value:hN(e.context_window_used,e.context_window_max)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Fi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=Y.useState(i),[u,f]=Y.useState(!1),d=Cb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(s5,{text:d}):d})]})}function s5({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function um({activity:e,defaultExpanded:n=!0}){const[i,l]=Y.useState(n),o=Y.useRef(null);return Y.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(u5,{entry:s},u))})]})}function u5({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function c5({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:BS(e)}),e.prompt&&b.jsx(Fi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(um,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Fi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=Y.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:f5(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:BS(i)}),i.prompt&&b.jsx(Fi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(um,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Fi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function f5(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function d5({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:In(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` - ---- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Fi,{output:o,title:"Output"})]})}function h5(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const p5=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,m5=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,g5={};function R1(e,n){return(g5.jsx?m5:p5).test(e)}const y5=/[ \t\n\f\r]/g;function x5(e){return typeof e=="object"?e.type==="text"?L1(e.value):!1:L1(e)}function L1(e){return e.replace(y5,"")===""}class Xo{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function qS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Xo(i,l,n)}function zp(e){return e.toLowerCase()}class an{constructor(n,i){this.attribute=i,this.property=n}}an.prototype.attribute="";an.prototype.booleanish=!1;an.prototype.boolean=!1;an.prototype.commaOrSpaceSeparated=!1;an.prototype.commaSeparated=!1;an.prototype.defined=!1;an.prototype.mustUseProperty=!1;an.prototype.number=!1;an.prototype.overloadedBoolean=!1;an.prototype.property="";an.prototype.spaceSeparated=!1;an.prototype.space=void 0;let v5=0;const Oe=Pi(),kt=Pi(),Ap=Pi(),pe=Pi(),at=Pi(),Fl=Pi(),mn=Pi();function Pi(){return 2**++v5}const Mp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:mn,commaSeparated:Fl,number:pe,overloadedBoolean:Ap,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),Kh=Object.keys(Mp);class cm extends an{constructor(n,i,l,o){let s=-1;if(super(n,i),H1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&E5.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,C5);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(_5,k5);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=cm}return new o(l,n)}function k5(e){return"-"+e.toLowerCase()}function C5(e){return e.charAt(1).toUpperCase()}const T5=qS([US,b5,YS,GS,$S],"html"),fm=qS([US,w5,YS,GS,$S],"svg");function z5(e){return e.join(" ").trim()}var Ll={},Jh,q1;function A5(){if(q1)return Jh;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",x="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function A(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new T(L),R(),G}}function T(L){this.start=L,this.end={line:z,column:_},this.source=E.source}T.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return A(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,A(D),S=S.slice(G),_+=2,L({type:x,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return Jh=w,Jh}var U1;function M5(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(A5());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function j5(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function O5(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(M5()),i=j5();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var D5=O5();const R5=Ro(D5),XS=FS("end"),dm=FS("start");function FS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function L5(e){const n=dm(e),i=XS(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?jp(e):""}function jp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return jp(e&&e.start)+"-"+jp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const hm={}.hasOwnProperty,H5=new Map,B5=/[A-Z]/g,q5=new Set(["table","tbody","thead","tfoot","tr"]),U5=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function I5(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Q5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=P5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?fm:T5,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=QS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function QS(e,n,i){if(n.type==="element")return V5(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Y5(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return $5(e,n,i);if(n.type==="mdxjsEsm")return G5(e,n);if(n.type==="root")return X5(e,n,i);if(n.type==="text")return F5(e,n)}function V5(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=fm,e.schema=o),e.ancestors.push(n);const s=KS(e,n.tagName,!1),u=Z5(e,n);let f=mm(e,n);return q5.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!x5(d):!0})),ZS(e,u,s,n),pm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Y5(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function G5(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function $5(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=fm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:KS(e,n.name,!0),u=K5(e,n),f=mm(e,n);return ZS(e,u,s,n),pm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function X5(e,n,i){const l={};return pm(l,mm(e,n)),e.create(n,e.Fragment,l,i)}function F5(e,n){return n.value}function ZS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function pm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function P5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Q5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=dm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Z5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&hm.call(n.properties,o)){const s=J5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&U5.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function K5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function mm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:H5;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const F1={}.hasOwnProperty;function aj(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Pl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),xn=di(/[\dA-Za-z]/),uj=di(/[#-'*+\--9=?A-Z^-~]/);function Op(e){return e!==null&&(e<32||e===127)}const Dp=di(/\d/),cj=di(/[\dA-Fa-f]/),fj=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Pe(e){return e===-2||e===-1||e===32}const dj=di(new RegExp("\\p{P}|\\p{S}","u")),hj=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Pe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Pe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),T=q;T_;){const B=i[A];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function xj(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||hj(e))return 1;if(dj(e))return 2}function ym(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},x={...e[i][1].start};Z1(p,-d),Z1(x,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:x},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=zn(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=zn(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=zn(h,ym(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=zn(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=zn(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Pe(T)?ot(e,z,"linePrefix",s+1)(T):z(T)}function z(T){return T===null||Te(T)?e.check(K1,k,A)(T):(e.enter("codeFlowValue"),_(T))}function _(T){return T===null||Te(T)?(e.exit("codeFlowValue"),z(T)):(e.consume(T),_)}function A(T){return e.exit("codeFenced"),n(T)}function B(T,q,M){let R=0;return X;function X(G){return T.enter("lineEnding"),T.consume(G),T.exit("lineEnding"),H}function H(G){return T.enter("codeFencedFence"),Pe(G)?ot(T,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(T.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,T.consume(G),ee):R>=u?(T.exit("codeFencedFenceSequence"),Pe(G)?ot(T,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(T.exit("codeFencedFence"),q(G)):M(G)}}}function Aj(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const ep={name:"codeIndented",tokenize:jj},Mj={partial:!0,tokenize:Oj};function jj(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(Mj,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function Oj(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const Dj={name:"codeText",previous:Lj,resolve:Rj,tokenize:Hj};function Rj(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function i_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),x):E===null||E===32||E===41||Op(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function x(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),x(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Pe(v)),v===92?x:p)}function x(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function a_(e,n,i,l,o,s){let u;return f;function f(x){return x===34||x===39||x===40?(e.enter(l),e.enter(o),e.consume(x),e.exit(o),u=x===40?41:x,d):i(x)}function d(x){return x===u?(e.enter(o),e.consume(x),e.exit(o),e.exit(l),n):(e.enter(s),h(x))}function h(x){return x===u?(e.exit(s),d(u)):x===null?i(x):Te(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===u||x===null||Te(x)?(e.exit("chunkString"),h(x)):(e.consume(x),x===92?p:m)}function p(x){return x===u||x===92?(e.consume(x),m):m(x)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Pe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const $j={name:"definition",tokenize:Fj},Xj={partial:!0,tokenize:Pj};function Fj(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return l_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Pl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return i_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(Xj,p,p)(v)}function p(v){return Pe(v)?ot(e,x,"whitespace")(v):x(v)}function x(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Pj(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return a_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Pe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const Qj={name:"hardBreakEscape",tokenize:Zj};function Zj(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const Kj={name:"headingAtx",resolve:Jj,tokenize:Wj};function Jj(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function Wj(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Pe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const eO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],tO={concrete:!0,name:"htmlFlow",resolveTo:iO,tokenize:lO},nO={partial:!0,tokenize:oO},rO={partial:!0,tokenize:aO};function iO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function lO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),x):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function x(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const V="CDATA[";return N===V.charCodeAt(f++)?(e.consume(N),f===V.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const V=N===47,P=u.toLowerCase();return!V&&!s&&W1.includes(P)?(o=1,l.interrupt?n(N):I(N)):eO.includes(u.toLowerCase())?(o=6,V?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||xn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Pe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),A):Pe(N)?(e.consume(N),_):X(N)}function A(N){return N===45||N===46||N===58||N===95||xn(N)?(e.consume(N),A):B(N)}function B(N){return N===61?(e.consume(N),T):Pe(N)?(e.consume(N),B):_(N)}function T(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Pe(N)?(e.consume(N),T):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Pe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Pe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(nO,F,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(rO,L,F)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const V=u.toLowerCase();return W1.includes(V)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),F(N)):(e.consume(N),U)}function F(N){return e.exit("htmlFlow"),n(N)}}function aO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function oO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(xc,n,i)}}const sO={name:"htmlText",tokenize:uO};function uO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),x):Te(j)?(u=p,$(j)):(e.consume(j),p)}function x(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?x(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),A):Te(j)?(u=_,$(j)):(e.consume(j),_)}function A(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),T):i(j)}function T(j){return j===45||xn(j)?(e.consume(j),T):q(j)}function q(j){return Te(j)?(u=q,$(j)):Pe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||xn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Pe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||xn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Pe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Pe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Pe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const xm={name:"labelEnd",resolveAll:hO,resolveTo:pO,tokenize:mO},cO={tokenize:gO},fO={tokenize:yO},dO={tokenize:xO};function hO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Pe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:TO},exit:AO,name:"list",tokenize:CO},NO={partial:!0,tokenize:MO},kO={partial:!0,tokenize:zO};function CO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Dp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Bu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Dp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(xc,l.interrupt?i:m,e.attempt(NO,x,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,x(v)}function p(v){return Pe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),x):i(v)}function x(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function TO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(xc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Pe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(kO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function zO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function AO(e){e.exit(this.containerState.type)}function MO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Pe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:jO,tokenize:OO};function jO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function OO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Pe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const DO={tokenize:RO};function RO(e){const n=this,i=e.attempt(xc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Uj,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const LO={resolveAll:s_()},HO=o_("string"),BO=o_("text");function o_(e){return{resolveAll:s_(e==="text"?qO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let x=-1;if(p)for(;++x-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function JO(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(me.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function dD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function hD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function pD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function mD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function gD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function f_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function yD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function xD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function vD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function bD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function wD(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function SD(e,n,i){const l=e.all(n),o=i?_D(i):d_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function ED(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=dm(n.children[1]),d=XS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function zD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function jD(e,n){const i={type:"text",value:MD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function OD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const DD={blockquote:uD,break:cD,code:fD,delete:dD,emphasis:hD,footnoteReference:pD,heading:mD,html:gD,imageReference:yD,image:xD,inlineCode:vD,linkReference:bD,link:wD,listItem:SD,list:ED,paragraph:ND,root:kD,strong:CD,table:TD,tableCell:AD,tableRow:zD,text:jD,thematicBreak:OD,toml:Tu,yaml:Tu,definition:Tu,footnoteDefinition:Tu};function Tu(){}const h_=-1,vc=0,wo=1,ec=2,vm=3,bm=4,wm=5,Sm=6,p_=7,m_=8,ab=typeof self=="object"?self:globalThis,RD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case vc:case h_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ec:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case vm:return i(new Date(u),o);case bm:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case wm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case Sm:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case p_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case m_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>RD(new Map,e)(0),Hl="",{toString:LD}={},{keys:HD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[vc,n];const i=LD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[ec,Hl];case"Date":return[vm,Hl];case"RegExp":return[bm,Hl];case"Map":return[wm,Hl];case"Set":return[Sm,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[p_,i]:[ec,i]},zu=([e,n])=>e===vc&&(n==="function"||n==="symbol"),BD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case vc:{let m=u;switch(d){case"bigint":f=m_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([h_],u)}return o([f,m],u)}case wo:{if(d){let x=u;return d==="DataView"?x=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(x=new Uint8Array(u)),o([d,[...x]],u)}const m=[],p=o([f,m],u);for(const x of u)m.push(s(x));return p}case ec:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const x of HD(u))(e||!zu(uo(u[x])))&&m.push([s(x),s(u[x])]);return p}case vm:return o([f,u.toISOString()],u);case bm:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case wm:{const m=[],p=o([f,m],u);for(const[x,v]of u)(e||!(zu(uo(x))||zu(uo(v))))&&m.push([s(x),s(v)]);return p}case Sm:{const m=[],p=o([f,m],u);for(const x of u)(e||!zu(uo(x)))&&m.push(s(x));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return BD(!(n||i),!!n,new Map,l)(e),l},tc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function qD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function UD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function ID(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||qD,l=e.options.footnoteBackLabel||UD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+x+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+x},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...tc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const g_=(function(e){if(e==null)return $D;if(typeof e=="function")return bc(e);if(typeof e=="object")return Array.isArray(e)?VD(e):YD(e);if(typeof e=="string")return GD(e);throw new Error("Expected function, string, or object as test")});function VD(e){const n=[];let i=-1;for(;++i":""))+")"})}return x;function x(){let v=y_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=ZD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==PD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` -`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=JD(e,n),l=i.one(e,void 0),o=ID(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function rR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var np,hb;function iR(){if(hb)return np;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var x;for(x in h);return typeof x>"u"||e.call(h,x)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return np=function d(){var h,m,p,x,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:sR,dirname:uR,extname:cR,join:fR,sep:"/"};function sR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function uR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function cR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function fR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function hR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const pR={cwd:mR};function mR(){return"/"}function Bp(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function gR(e){if(typeof e=="string")e=new URL(e);else if(!Bp(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return yR(e)}function yR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[x][1];Hp(k)&&Hp(v)&&(v=rp(!0,k,v)),l[x]=[h,v,...w]}}}}const wR=new _m().freeze();function op(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function sp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function up(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Hp(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Au(e){return SR(e)?e:new v_(e)}function SR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function _R(e){return typeof e=="string"||ER(e)}function ER(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const NR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},kR=/^(https?|ircs?|mailto|xmpp)$/i,CR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function TR(e){const n=zR(e),i=AR(e);return MR(n.runSync(n.parse(i),i),e)}function zR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return wR().use(sD).use(i).use(rR,l).use(n)}function AR(e){const n=e.children||"",i=new v_;return typeof n=="string"&&(i.value=n),i}function MR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||jR;for(const m of CR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+NR+m.id,void 0);return x_(e,h),I5(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,x){if(m.type==="raw"&&x&&typeof p=="number")return u?x.children.splice(p,1):x.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in Wh)if(Object.hasOwn(Wh,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=Wh[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,x)),v&&x&&typeof p=="number")return f&&m.children?x.children.splice(p,1,...m.children):x.children.splice(p,1),p}}}function jR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||kR.test(e.slice(0,n))?e:""}function OR({node:e}){const n=xe(_=>_.sendGateResponse),i=xe(_=>_.wsStatus),[l,o]=Y.useState(null),[s,u]=Y.useState(""),[f,d]=Y.useState(null),[h,m]=Y.useState(!1),p=e.status==="waiting",x=e.status==="completed";Y.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,A)=>{if(v){if(A){o(_),d(A);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const A=l===_.value,B=l!==null&&!A;return b.jsx("button",{disabled:!v&&!A,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${A?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:A?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${A?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),x&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(DR,{node:e})]}),!p&&!x&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!0})})]})]})}function cp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(TR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function DR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function RR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=xe(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=Y.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:In(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(HR,{item:m},`${m.key}-${m.index}`))})]})]})}const LR={running:lt.running,completed:lt.completed,failed:lt.failed};function HR({item:e}){const[n,i]=Y.useState(e.status==="running"),l=LR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:In(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:In(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Fi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(um,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Fi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function BR(){const e=xe(f=>f.selectedNode),n=xe(f=>f.nodes),i=xe(f=>f.selectNode),[l,o]=Y.useState(!1);Y.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return d5;case"human_gate":return OR;case"parallel_group":case"for_each_group":return RR;default:return c5}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(nc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function qu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function qR(){const e=xe(S=>S.eventLog),n=xe(S=>S.activityLog),i=xe(S=>S.workflowOutput),l=xe(S=>S.workflowStatus),[o,s]=Y.useState("log"),[u,f]=Y.useState(!1),[d,h]=Y.useState(0),[m,p]=Y.useState(0),x=Y.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);Y.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),Y.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),Y.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(Y2,{className:"w-3 h-3"}),b.jsx(gx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(fp,{active:o==="log",onClick:()=>x("log"),icon:b.jsx(gx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(fp,{active:o==="activity",onClick:()=>x("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(fp,{active:o==="output",onClick:()=>x("output"),icon:b.jsx(Q2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(UR,{entries:n}):o==="log"?b.jsx(IR,{entries:e}):b.jsx(VR,{output:i,status:l})})]})}function fp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function UR({entries:e}){const n=Y.useRef(null),i=Y.useRef(!0),l=xe(d=>d.selectNode),[o,s]=Y.useState(""),u=Y.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=Y.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||qu(h.message).toLowerCase().includes(d))},[e,o]);return Y.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(nc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=b_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:qu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:qu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function IR({entries:e}){const n=Y.useRef(null),i=Y.useRef(!0),l=xe(s=>s.selectNode),o=Y.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return Y.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=b_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:qu(s.message)})]},u)})})}function b_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function VR({output:e,status:n}){const[i,l]=Y.useState(!1),o=Cb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(YR,{text:o}):o})})]})}function YR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function GR(){const e=xe(n=>n.selectedNode);return b.jsxs(hp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(hp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(l5,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(pp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(BR,{})})]})]})}),b.jsx(pp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(qR,{})})]})}const $R=3e4;function XR(){const e=xe(p=>p.processEvent),n=xe(p=>p.replayState),i=xe(p=>p.setWsStatus),l=xe(p=>p.setWsSend),o=Y.useRef(null),s=Y.useRef(1e3),u=Y.useRef(null),f=Y.useRef(null),d=Y.useRef(()=>{}),h=Y.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,$R),d.current()},s.current)},[i]),m=Y.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(x=>x.json()).then(x=>{x&&x.length>0&&n(x);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(x=>{p.signal.aborted||(console.error("Failed to fetch state:",x),h())})},[e,n,i,l,h]);d.current=m,Y.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function FR(){XR();const e=xe(i=>i.selectNode),n=xe(i=>i.workflowName);return Y.useEffect(()=>{document.title=n?`Conductor — ${n}`:"Conductor Dashboard"},[n]),Y.useEffect(()=>{const i=l=>{l.key==="Escape"&&e(null)};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e]),b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[b.jsx(dN,{}),b.jsx(GR,{}),b.jsx(pN,{})]})}B2.createRoot(document.getElementById("root")).render(b.jsx(Y.StrictMode,{children:b.jsx(FR,{})})); diff --git a/src/conductor/web/static/assets/index-BOL5pxtd.js b/src/conductor/web/static/assets/index-Cq5A-RoD.js similarity index 66% rename from src/conductor/web/static/assets/index-BOL5pxtd.js rename to src/conductor/web/static/assets/index-Cq5A-RoD.js index d0ef9d5..e332955 100644 --- a/src/conductor/web/static/assets/index-BOL5pxtd.js +++ b/src/conductor/web/static/assets/index-Cq5A-RoD.js @@ -1,4 +1,4 @@ -var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>T2(e,typeof n!="symbol"?n+"":n,i);function z2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Lo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hd={exports:{}},to={};/** +var T2=Object.defineProperty;var z2=(e,n,i)=>n in e?T2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>z2(e,typeof n!="symbol"?n+"":n,i);function A2(e,n){for(var i=0;il[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Lo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hd={exports:{}},to={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cx;function A2(){if(cx)return to;cx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return to.Fragment=n,to.jsx=i,to.jsxs=i,to}var fx;function M2(){return fx||(fx=1,Hd.exports=A2()),Hd.exports}var b=M2(),Bd={exports:{}},ze={};/** + */var cx;function M2(){if(cx)return to;cx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return to.Fragment=n,to.jsx=i,to.jsxs=i,to}var fx;function j2(){return fx||(fx=1,Hd.exports=M2()),Hd.exports}var b=j2(),Bd={exports:{}},ze={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var dx;function j2(){if(dx)return ze;dx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),y=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=y&&U[y]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,P,N){this.props=U,this.context=P,this.refs=S,this.updater=N||w}var T=_.prototype=new z;T.constructor=_,k(T,E.prototype),T.isPureReactComponent=!0;var B=Array.isArray;function A(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,P,N){var Y=N.ref;return{$$typeof:e,type:U,key:P,ref:Y!==void 0?Y:null,props:N}}function X(U,P){return R(U.type,P,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return P[N]})}var ee=/\/+/g;function L(U,P){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):P.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(A,A):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,P,N,Y,F){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),P,N,Y,F)}}if(ne)return F=F(U),ne=Y===""?"."+L(U,0):Y,B(F)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(F,P,N,"",function(ye){return ye})):F!=null&&(H(F)&&(F=X(F,N+(F.key==null||U&&U.key===F.key?"":(""+F.key).replace(ee,"$&/")+"/")+ne)),P.push(F)),1;ne=0;var re=Y===""?".":Y+":";if(B(U))for(var se=0;sen in e?C2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var px;function D2(){return px||(px=1,(function(e){function n(D,$){var Z=D.length;D.push($);e:for(;0>>1,j=D[J];if(0>>1;Jo(N,Z))Yo(F,N)?(D[J]=F,D[Y]=Z,J=Y):(D[J]=N,D[P]=Z,J=P);else if(Yo(F,Z))D[J]=F,D[Y]=Z,J=Y;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function T(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,T(D),!w)if(i(d)!==null)w=!0,A||(A=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var A=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,T(D),$=!0;break t}p===i(d)&&l(d),T(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():A=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,A||(A=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=y;return function(){var Z=y;y=$;try{return D.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function R2(){return mx||(mx=1,Ud.exports=D2()),Ud.exports}var Vd={exports:{}},Yt={};/** + */var px;function D2(){return px||(px=1,(function(e){function n(R,$){var Z=R.length;R.push($);e:for(;0>>1,j=R[J];if(0>>1;Jo(N,Z))Yo(F,N)?(R[J]=F,R[Y]=Z,J=Y):(R[J]=N,R[P]=Z,J=P);else if(Yo(F,Z))R[J]=F,R[Y]=Z,J=Y;else break e}}return $}function o(R,$){var Z=R.sortIndex-$.sortIndex;return Z!==0?Z:R.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,k=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function A(R){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=R)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(R){if(k=!1,A(R),!w)if(i(d)!==null)w=!0,T||(T=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-R)}}var T=!1,q=-1,M=5,D=-1;function X(){return S?!0:!(e.unstable_now()-DR&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,y=p.priorityLevel;var j=J(p.expirationTime<=R);if(R=e.unstable_now(),typeof j=="function"){p.callback=j,A(R),$=!0;break t}p===i(d)&&l(d),A(R)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-R),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?I():T=!1}}}var I;if(typeof E=="function")I=function(){E(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){_(H,0)};function G(R,$){q=_(function(){R(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(R){R.callback=null},e.unstable_forceFrameRate=function(R){0>R||125J?(R.sortIndex=Z,n(h,R),i(d)===null&&R===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(R.sortIndex=j,n(d,R),w||v||(w=!0,T||(T=!0,I()))),R},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(R){var $=y;return function(){var Z=y;y=$;try{return R.apply(this,arguments)}finally{y=Z}}}})(Id)),Id}var mx;function L2(){return mx||(mx=1,Ud.exports=D2()),Ud.exports}var Vd={exports:{}},Yt={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var gx;function L2(){if(gx)return Yt;gx=1;var e=Ho();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vd.exports=L2(),Vd.exports}/** + */var gx;function H2(){if(gx)return Yt;gx=1;var e=Ho();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vd.exports=H2(),Vd.exports}/** * @license React * react-dom-client.production.js * @@ -38,45 +38,45 @@ var C2=Object.defineProperty;var T2=(e,n,i)=>n in e?C2(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var xx;function H2(){if(xx)return no;xx=1;var e=R2(),n=Ho(),i=_b();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Dy(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Dy(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Ka._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var Y=U(null),F=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(F,t),N(Y,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?Oy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=Oy(r),t=Ry(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(Y),N(Y,t)}function se(){P(Y),P(F),P(K)}function ye(t){t.memoizedState!==null&&N(ne,t);var r=Y.current,a=Ry(r,t.type);r!==a&&(N(F,t),N(Y,a))}function ve(t){F.current===t&&(P(Y),P(F)),ne.current===t&&(P(ne),Ka._currentValue=Z)}var xe,pe;function _e(t){if(xe===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);xe=r&&r[1]||"",pe=-1)":-1g||Q[c]!==le[g]){var ce=` `+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` Error generating stack: `+c.message+` -`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Zi=256,Ki=262144,Ji=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Wi(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qo(){var t=Ji;return Ji<<=1,(Ji&62914560)===0&&(Ji=4194304),t}function sa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?ha(t,C,Pt(r)):a!=null?ha(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function ss(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function ha(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var ma={};Object.defineProperty(ma,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",ma,ma),window.removeEventListener("test",ma,ma)}catch{Lc=!1}var Br=null,Hc=null,cs=null;function Dm(){if(cs)return cs;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=xa),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return Q_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var al=!1;function K_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function J_(t,r){if(al)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Dm(),cs=Hc=Br=null,al=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var aE=ur&&"documentMode"in document&&11>=document.documentMode,ol=null,Xc=null,Sa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||ol==null||ol!==gi(c)||(c=ol,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Sa&&wa(Sa,c)||(Sa=c,c=ru(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(k2){return r(te,k2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ta(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=bs(ie.type,ie.key,ie.props,null,te.mode,fe),Ta(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,Cs(ie),fe);if(ie.$$typeof===_)return nt(te,W,_s(te,ie),fe);Ts(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{Ca=0;var Ee=nt(te,W,ie,fe);return xl=null,Ee}catch(Se){if(Se===yl||Se===Ns)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=vs(t),sg(t,null,a),r}return xs(t,c,r,a),vs(t)}function za(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function Aa(){if(gf){var t=gl;if(t!==null)throw t}}function Ma(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===ml&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=D.T,O={};D.T=O,Rf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=mE(Q,c);Da(t,r,ce,mn(t))}else Da(t,r,c,mn(t))}catch(de){Da(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function wE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?wE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Da(t,r.next.queue,{},mn())}function Df(){return Ht(Ka)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function SE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),za(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function _E(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Da(t,r,a,c)}function Da(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Bs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return xs(t,r,g,0),rt===null&&ys(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Rf(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Bs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Bs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){bl=Ms=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}var Ra={readContext:Ht,use:Ds,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Ra.useEffectEvent=pt;var d0={readContext:Ht,use:Ds,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ls(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ls(4194308,4,t,r)},useInsertionEffect:function(t,r){Ls(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=_E.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Rg.bind(null,c,x,t),[t]),c.flags|=2048,Sl(9,{destroy:void 0},Dg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=js++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,hl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=iu(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=hl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=hl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ys(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)Ha(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=As(t),x!==null){for(r.flags|=128,Ha(c,!1),t=x.updateQueue,r.updateQueue=t,Ys(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304)}else{if(!g)if(t=As(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ys(r,t),Ha(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Ys(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function TE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ba(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function qa(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;ZE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Gs(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Gs(t,r,a),t=t.sibling;t!==null;)Gs(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function zE(t,r){if(t=t.containerInfo,bd=fu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},fu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,Cl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,W0(x.current),Z0(x,x.current,C,a),Fe=O,$a(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,x)}catch{}return!0}finally{$.p=g,D.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new jE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=HE.bind(null,t,r,a),r.then(t,t))}function HE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Ps?(Fe&2)===0&&Tl(t,0):rd|=a,kl===Be&&(kl=0)),Qn(t)}function by(t,r){r===0&&(r=Qo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function BE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function qE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function UE(t,r){return Ut(t,r)}var eu=null,Al=null,fd=!1,tu=!1,dd=!1,ei=0;function Qn(t){t!==Al&&t.next===null&&(Al===null?eu=Al=t:Al=Al.next=t),tu=!0,fd||(fd=!0,VE())}function $a(t,r){if(!dd&&tu){dd=!0;do for(var a=!1,c=eu;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Wi(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function IE(){wy()}function wy(){tu=fd=!1;var t=0;ei!==0&&JE()&&(t=ei);for(var r=At(),a=null,c=eu;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?eu=g:a.next=g,g===null&&(Al=a)):(a=c,(t!==0||(x&3)!==0)&&(tu=!0)),c=g}jt!==0&&jt!==5||$a(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Ml;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function o2(t){Er.D(t),Gy("dns-prefetch",t,null)}function s2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function u2(t,r,a){Er.L(t,r,a);var c=Ml;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=jl(t);break;case"script":x=Ol(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Qa(x))||r==="script"&&c.querySelector(Za(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function c2(t,r){Er.m(t,r);var a=Ml;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=Ol(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Za(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function f2(t,r,a){Er.S(t,r,a);var c=Ml;if(c&&t){var g=Rr(c).hoistableStyles,x=jl(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Qa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,au(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function d2(t,r){Er.X(t,r);var a=Ml;if(a&&t){var c=Rr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function h2(t,r){Er.M(t,r);var a=Ml;if(a&&t){var c=Rr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?lu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=jl(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=jl(a.href);var x=Rr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Qa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||p2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=Ol(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function jl(t){return'href="'+Ft(t)+'"'}function Qa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function p2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function Ol(t){return'[src="'+Ft(t)+'"]'}function Za(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),au(c,a.precedence,t),r.instance=c;case"stylesheet":g=jl(a.href);var x=t.querySelector(Qa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,au(x,a.precedence,t),r.instance=x;case"script":return x=Ol(a.src),(g=t.querySelector(Za(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,au(c,a.precedence,t));return r.instance}function au(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function m2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function g2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=jl(c.href),x=r.querySelector(Qa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=su.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=su.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function y2(t,r){return t.stylesheets&&t.count===0&&cu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function su(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var uu=null;function cu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,uu=new Map,r.forEach(x2,t),uu=null,su.call(t))}function x2(t,r){if(!(r.state.loading&4)){var a=uu.get(t);if(a)var c=a.get(null);else{a=new Map,uu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=H2(),qd.exports}var q2=B2();/** +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Rt=e.unstable_cancelCallback,wn=e.unstable_shouldYield,Mn=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,ge=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,De=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,jn=e.unstable_setDisableYieldValue,Dt=null,yt=null;function It(t){if(typeof $t=="function"&&jn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Dt,t)}catch{}}var Ze=Math.clz32?Math.clz32:Ec,Gn=Math.log,sn=Math.LN2;function Ec(t){return t>>>=0,t===0?32:31-(Gn(t)/sn|0)|0}var Zi=256,Ki=262144,Ji=4194304;function ir(t){var r=t&42;if(r!==0)return r;switch(t&-t){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Wi(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~x,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~x,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Nc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qo(){var t=Ji;return Ji<<=1,(Ji&62914560)===0&&(Ji=4194304),t}function sa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Mc=/[\n"\\]/g;function Ft(t){return t.replace(Mc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,x,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Pt(r)):t.value!==""+Pt(r)&&(t.value=""+Pt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?ha(t,C,Pt(r)):a!=null?ha(t,C,Pt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Pt(O):t.removeAttribute("name")}function ss(t,r,a,c,g,x,C,O){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Pt(a):"",r=r!=null?""+Pt(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function ha(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=!1;if(ur)try{var ma={};Object.defineProperty(ma,"passive",{get:function(){Lc=!0}}),window.addEventListener("test",ma,ma),window.removeEventListener("test",ma,ma)}catch{Lc=!1}var Br=null,Hc=null,cs=null;function Rm(){if(cs)return cs;var t,r=Hc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,x=g.length;for(t=0;t=xa),Um=" ",Im=!1;function Vm(t,r){switch(t){case"keyup":return Z_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ym(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var al=!1;function J_(t,r){switch(t){case"compositionend":return Ym(r);case"keypress":return r.which!==32?null:(Im=!0,Um);case"textInput":return t=r.data,t===Um&&Im?null:t;default:return null}}function W_(t,r){if(al)return t==="compositionend"||!Vc&&Vm(t,r)?(t=Rm(),cs=Hc=Br=null,al=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Km(a)}}function Wm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Wm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function eg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function $c(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var oE=ur&&"documentMode"in document&&11>=document.documentMode,ol=null,Xc=null,Sa=null,Pc=!1;function tg(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pc||ol==null||ol!==gi(c)||(c=ol,"selectionStart"in c&&$c(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Sa&&wa(Sa,c)||(Sa=c,c=ru(Xc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=x(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=x($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(C2){return r(te,C2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ta(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=bs(ie.type,ie.key,ie.props,null,te.mode,fe),Ta(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=ef(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,Cs(ie),fe);if(ie.$$typeof===E)return nt(te,W,_s(te,ie),fe);Ts(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Wc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{Ca=0;var Ee=nt(te,W,ie,fe);return xl=null,Ee}catch(Se){if(Se===yl||Se===Ns)throw Se;var Ge=cn(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=Eg(!0),Ng=Eg(!1),Yr=!1;function hf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=vs(t),sg(t,null,a),r}return xs(t,c,r,a),vs(t)}function za(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}function mf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var gf=!1;function Aa(){if(gf){var t=gl;if(t!==null)throw t}}function Ma(t,r,a,c){gf=!1;var g=t.updateQueue;Yr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,O=x;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===ml&&(gf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function kg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Cg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=R.T,O={};R.T=O,Df(t,!1,r,a);try{var Q=g(),le=R.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=gE(Q,c);Ra(t,r,ce,mn(t))}else Ra(t,r,c,mn(t))}catch(de){Ra(t,r,{then:function(){},status:"rejected",reason:de},mn())}finally{$.p=x,C!==null&&O.types!==null&&(C.types=O.types),R.T=C}}function SE(){}function Of(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=l0(t).queue;i0(t,g,r,Z,a===null?SE:function(){return a0(t),a(c)})}function l0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function a0(t){var r=l0(t);r.next===null&&(r=t.alternate.memoizedState),Ra(t,r.next.queue,{},mn())}function Rf(){return Ht(Ka)}function o0(){return vt().memoizedState}function s0(){return vt().memoizedState}function _E(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=mn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),za(c,r,a)),r={cache:uf()},t.payload=r;return}r=r.return}}function EE(t,r,a){var c=mn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bs(t)?c0(r,a):(a=Kc(t,r,a,c),a!==null&&(en(a,t,c),f0(a,r,c)))}function u0(t,r,a){var c=mn();Ra(t,r,a,c)}function Ra(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Bs(t))c0(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,O=x(C,a);if(g.hasEagerState=!0,g.eagerState=O,un(O,C))return xs(t,r,g,0),rt===null&&ys(),!1}catch{}finally{}if(a=Kc(t,r,g,c),a!==null)return en(a,t,c),f0(a,r,c),!0}return!1}function Df(t,r,a,c){if(c={lane:2,revertLane:hd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Bs(t)){if(r)throw Error(l(479))}else r=Kc(t,a,c,2),r!==null&&en(r,t,2)}function Bs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function c0(t,r){bl=Ms=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function f0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Ko(t,a)}}var Da={readContext:Ht,use:Rs,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var d0={readContext:Ht,use:Rs,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:Qg,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ls(4194308,4,Wg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ls(4194308,4,t,r)},useInsertionEffect:function(t,r){Ls(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=EE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Tf(t);var r=t.queue,a=u0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Mf,useDeferredValue:function(t,r){var a=Xt();return jf(a,t,r)},useTransition:function(){var t=Tf(!1);return t=i0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||Og(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,Qg(Dg.bind(null,c,x,t),[t]),c.flags|=2048,Sl(9,{destroy:void 0},Rg.bind(null,c,x,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Pn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=js++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Mt]=r,x[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(qt(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Qf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,hl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||My(t.nodeValue,a)),t||Ir(r,!0)}else t=iu(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=hl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(dn(r),r):(dn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=hl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=lf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(dn(r),r):(dn(r),null)}return dn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ys(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&yd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(P(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)Ha(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=As(t),x!==null){for(r.flags|=128,Ha(c,!1),t=x.updateQueue,r.updateQueue=t,Ys(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)ug(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304)}else{if(!g)if(t=As(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ys(r,t),Ha(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,Ha(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return dn(r),xf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Ys(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function zE(t,r){switch(nf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(dn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(dn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return dn(r),xf(),t!==null&&P(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function L0(t,r){switch(nf(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&dn(r);break;case 13:dn(r);break;case 19:P(xt);break;case 10:hr(r.type);break;case 22:case 23:dn(r),xf(),t!==null&&P(ki);break;case 24:hr(wt)}}function Ba(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Fr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){Je(r,r.return,ce)}}function H0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Cg(r,a)}catch(c){Je(t,t.return,c)}}}function B0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function qa(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Fn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function q0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Zf(t,r,a){try{var c=t.stateNode;KE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function U0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Kf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||U0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ti(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Jf(t,r,a),t=t.sibling;t!==null;)Jf(t,r,a),t=t.sibling}function Gs(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Gs(t,r,a),t=t.sibling;t!==null;)Gs(t,r,a),t=t.sibling}function I0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(x){Je(t,t.return,x)}}var xr=!1,Et=!1,Wf=!1,V0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function AE(t,r){if(t=t.containerInfo,bd=fu,t=eg(t),$c(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:t,selectionRange:a},fu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(x,c,a),x[Mt]=t,bt(x),c=x;break e;case"link":var C=Fy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Jm(O,ke),W=Jm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,R.T=null,a=ad,ad=null;var x=Jr,C=_r;if(jt=0,Cl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,W0(x.current),Z0(x,x.current,C,a),Fe=O,$a(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Dt,x)}catch{}return!0}finally{$.p=g,R.T=c,yy(t,r)}}function vy(t,r,a){r=_n(a,r),r=qf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)vy(t,t,a);else for(;r!==null;){if(r.tag===3){vy(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=_n(a,t),a=b0(2),c=$r(r,a,2),c!==null&&(w0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function cd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new OE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(nd=!0,g.add(a),t=BE.bind(null,t,r,a),r.then(t,t))}function BE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Ps?(Fe&2)===0&&Tl(t,0):rd|=a,kl===Be&&(kl=0)),Qn(t)}function by(t,r){r===0&&(r=Qo()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function qE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),by(t,a)}function UE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),by(t,a)}function IE(t,r){return Ut(t,r)}var eu=null,Al=null,fd=!1,tu=!1,dd=!1,ei=0;function Qn(t){t!==Al&&t.next===null&&(Al===null?eu=Al=t:Al=Al.next=t),tu=!0,fd||(fd=!0,YE())}function $a(t,r){if(!dd&&tu){dd=!0;do for(var a=!1,c=eu;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,O=c.pingedLanes;x=(1<<31-Ze(42|t)+1)-1,x&=g&~(C&~O),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,Ey(c,x))}else x=Be,x=Wi(c,c===rt?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||hi(c,x)||(a=!0,Ey(c,x));c=c.next}while(a);dd=!1}}function VE(){wy()}function wy(){tu=fd=!1;var t=0;ei!==0&&WE()&&(t=ei);for(var r=At(),a=null,c=eu;c!==null;){var g=c.next,x=Sy(c,r);x===0?(c.next=null,a===null?eu=g:a.next=g,g===null&&(Al=a)):(a=c,(t!==0||(x&3)!==0)&&(tu=!0)),c=g}jt!==0&&jt!==5||$a(t),ei!==0&&(ei=0)}function Sy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&jy(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Gy(t,r,a){var c=Ml;if(c&&typeof r=="string"&&r){var g=Ft(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function s2(t){Er.D(t),Gy("dns-prefetch",t,null)}function u2(t,r){Er.C(t,r),Gy("preconnect",t,r)}function c2(t,r,a){Er.L(t,r,a);var c=Ml;if(c&&t&&r){var g='link[rel="preload"][as="'+Ft(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Ft(a.imageSizes)+'"]')):g+='[href="'+Ft(t)+'"]';var x=g;switch(r){case"style":x=jl(t);break;case"script":x=Ol(t)}zn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),zn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Qa(x))||r==="script"&&c.querySelector(Za(x))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function f2(t,r){Er.m(t,r);var a=Ml;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Ft(c)+'"][href="'+Ft(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=Ol(t)}if(!zn.has(x)&&(t=p({rel:"modulepreload",href:t},r),zn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Za(x)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function d2(t,r,a){Er.S(t,r,a);var c=Ml;if(c&&t){var g=Dr(c).hoistableStyles,x=jl(t);r=r||"default";var C=g.get(x);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Qa(x)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=zn.get(x))&&Td(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,au(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(x,C)}}}function h2(t,r){Er.X(t,r);var a=Ml;if(a&&t){var c=Dr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function p2(t,r){Er.M(t,r);var a=Ml;if(a&&t){var c=Dr(a).hoistableScripts,g=Ol(t),x=c.get(g);x||(x=a.querySelector(Za(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=zn.get(g))&&zd(t,r),x=a.createElement("script"),bt(x),qt(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function $y(t,r,a,c){var g=(g=K.current)?lu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=jl(a.href),a=Dr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=jl(a.href);var x=Dr(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(Qa(t)))&&!x._p&&(C.instance=x,C.state.loading=5),zn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},zn.set(t,a),x||m2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=Ol(a),a=Dr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function jl(t){return'href="'+Ft(t)+'"'}function Qa(t){return'link[rel="stylesheet"]['+t+"]"}function Xy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function m2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function Ol(t){return'[src="'+Ft(t)+'"]'}function Za(t){return"script[async]"+t}function Py(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Ft(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),au(c,a.precedence,t),r.instance=c;case"stylesheet":g=jl(a.href);var x=t.querySelector(Qa(g));if(x)return r.state.loading|=4,r.instance=x,bt(x),x;c=Xy(a),(g=zn.get(g))&&Td(c,g),x=(t.ownerDocument||t).createElement("link"),bt(x);var C=x;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),r.state.loading|=4,au(x,a.precedence,t),r.instance=x;case"script":return x=Ol(a.src),(g=t.querySelector(Za(x)))?(r.instance=g,bt(g),g):(c=a,(g=zn.get(x))&&(c=p({},a),zd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,au(c,a.precedence,t));return r.instance}function au(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function g2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Zy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function y2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=jl(c.href),x=r.querySelector(Qa(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=su.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,bt(x);return}x=r.ownerDocument||r,c=Xy(c),(g=zn.get(g))&&Td(c,g),x=x.createElement("link"),bt(x);var C=x;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=su.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ad=0;function x2(t,r){return t.stylesheets&&t.count===0&&cu(t,t.stylesheets),0Ad?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function su(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var uu=null;function cu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,uu=new Map,r.forEach(v2,t),uu=null,su.call(t))}function v2(t,r){if(!(r.state.loading&4)){var a=uu.get(t);if(a)var c=a.get(null);else{a=new Map,uu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=B2(),qd.exports}var U2=q2();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const U2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Eb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** + */const I2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Nb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var I2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var V2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const V2=V.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>V.createElement("svg",{ref:d,...I2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Eb("lucide",o),...f},[...u.map(([h,m])=>V.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** + */const Y2=V.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>V.createElement("svg",{ref:d,...V2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Nb("lucide",o),...f},[...u.map(([h,m])=>V.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Pe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(V2,{ref:s,iconNode:n,className:Eb(`lucide-${U2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** + */const Pe=(e,n)=>{const i=V.forwardRef(({className:l,...o},s)=>V.createElement(Y2,{ref:s,iconNode:n,className:Nb(`lucide-${I2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nb=Pe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const kb=Pe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Y2=Pe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const G2=Pe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -96,57 +96,57 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const G2=Pe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const $2=Pe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $2=Pe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const X2=Pe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const X2=Pe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */const P2=Pe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const P2=Pe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** + */const F2=Pe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kb=Pe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const Cb=Pe("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const F2=Pe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + */const Q2=Pe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Q2=Pe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const Z2=Pe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z2=Pe("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** + */const K2=Pe("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K2=Pe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** + */const J2=Pe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const J2=Pe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const W2=Pe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const W2=Pe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** + */const eN=Pe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -156,12 +156,12 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eN=Pe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + */const tN=Pe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tN=Pe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** + */const nN=Pe("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -171,22 +171,22 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nN=Pe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const rN=Pe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rN=Pe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const iN=Pe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iN=Pe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const lN=Pe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lN=Pe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const aN=Pe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -196,27 +196,27 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Cb=Pe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + */const Tb=Pe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aN=Pe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const oN=Pe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oN=Pe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const sN=Pe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sN=Pe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const uN=Pe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uN=Pe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** + */const cN=Pe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -226,26 +226,26 @@ Error generating stack: `+c.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cN=Pe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},fN=(e=>e?wx(e):wx),dN=e=>e;function hN(e,n=dN){const i=Ul.useSyncExternalStore(e.subscribe,Ul.useCallback(()=>n(e.getState()),[e,n]),Ul.useCallback(()=>n(e.getInitialState()),[e,n]));return Ul.useDebugValue(i),i}const Sx=e=>{const n=fN(e),i=l=>hN(n,l);return Object.assign(i,n),i},pN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function xu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function ro(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=pN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,workflowYaml:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bu(n);s&&o.eventLog.push(s);const u=wu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=vu[s.type];u&&u(o,s.data,s.timestamp);const f=bu(s);f&&o.eventLog.push(f);const d=wu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.workflowYaml=l.yaml_source??null,e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){ro(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Ru(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:io(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?io(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?io(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:io(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Ru(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?io(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function io(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function _x(e){const n=e.match(/^(\s*)/);return n?n[1].length:0}function mN(e){const n=new Map;for(let i=0;io)s=u;else break}s>i&&n.set(i,s)}return n}function gN(e){if(/^\s*#/.test(e))return b.jsx("span",{className:"text-emerald-500/70",children:e});const n=e.match(/^(\s*)(- )?([a-zA-Z_][\w.-]*)(:\s*)(.*)/);if(n){const[,l,o,s,u,f]=n;return b.jsxs("span",{children:[l,o??"",b.jsx("span",{className:"text-sky-400",children:s}),b.jsx("span",{className:"text-[var(--text-muted)]",children:u}),Ex(f)]})}const i=e.match(/^(\s*)(- )(.*)/);if(i){const[,l,o,s]=i;return b.jsxs("span",{children:[l,b.jsx("span",{className:"text-[var(--text-muted)]",children:o}),Ex(s)]})}return b.jsx("span",{children:e})}function Ex(e){if(!e)return"";const n=e.indexOf(" #"),i=n>=0?e.slice(0,n):e,l=n>=0?e.slice(n):"";let o=i;return/^(true|false|null|yes|no)$/i.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^\d+(\.\d+)?$/.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^["'].*["']$/.test(i.trim())?o=b.jsx("span",{className:"text-green-400",children:i}):(i.includes("|")||i.includes(">"))&&(o=b.jsx("span",{className:"text-[var(--text-secondary)]",children:i})),b.jsxs(b.Fragment,{children:[o,l&&b.jsx("span",{className:"text-emerald-500/70",children:l})]})}function yN({yaml:e,onClose:n}){const[i,l]=V.useState(new Set);V.useEffect(()=>{const d=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n]);const o=V.useMemo(()=>e.split(` -`),[e]),s=V.useMemo(()=>mN(o),[o]),u=V.useCallback(d=>{l(h=>{const m=new Set(h);return m.has(d)?m.delete(d):m.add(d),m})},[]),f=V.useMemo(()=>{const d=[];let h=-1;for(let m=0;mb.jsxs("div",{className:"flex",children:[b.jsx("span",{className:"inline-flex items-center justify-center flex-shrink-0",style:{width:"1.25rem"},children:m?b.jsx("button",{onClick:()=>u(d),className:"text-[var(--text-muted)] hover:text-[var(--text)] p-0 leading-none",style:{background:"none",border:"none",cursor:"pointer"},children:p?b.jsx(ia,{className:"w-3 h-3"}):b.jsx(Fi,{className:"w-3 h-3"})}):null}),b.jsxs("span",{className:"flex-1",children:[gN(h),p&&b.jsx("span",{className:"text-[var(--text-muted)] text-[11px] ml-2 px-1.5 py-0.5 rounded bg-[var(--surface-hover)] cursor-pointer",onClick:()=>u(d),children:"···"})]})]},d))})})]})]})}function xN(){const e=he(S=>S.workflowName),n=he(S=>S.workflowStatus),i=he(S=>S.isPaused),l=he(S=>S.workflowYaml),[o,s]=V.useState(!1),[u,f]=V.useState(!1),[d,h]=V.useState(!1),[m,p]=V.useState(!1),y=n==="running"||n==="pending";V.useEffect(()=>{i||(s(!1),f(!1),h(!1))},[i]);const v=async()=>{s(!0);try{await fetch("/api/stop",{method:"POST"})}catch(S){console.error("Failed to stop agent:",S),s(!1)}},w=async()=>{f(!0);try{await fetch("/api/resume",{method:"POST"})}catch(S){console.error("Failed to resume agent:",S),f(!1)}},k=async()=>{h(!0);try{await fetch("/api/kill",{method:"POST"})}catch(S){console.error("Failed to kill workflow:",S),h(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(Nb,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:w,disabled:u,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + */const fN=Pe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),wx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},dN=(e=>e?wx(e):wx),hN=e=>e;function pN(e,n=hN){const i=Ul.useSyncExternalStore(e.subscribe,Ul.useCallback(()=>n(e.getState()),[e,n]),Ul.useCallback(()=>n(e.getInitialState()),[e,n]));return Ul.useDebugValue(i),i}const Sx=e=>{const n=dN(e),i=l=>pN(n,l);return Object.assign(i,n),i},mN=(e=>e?Sx(e):Sx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function xu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function ro(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const he=mN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,workflowYaml:null,conductorVersion:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,replayMode:!1,replayEvents:[],replayPosition:0,replayTotalEvents:0,replayPlaying:!1,replaySpeed:1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=he.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vu[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bu(n);s&&o.eventLog.push(s);const u=wu(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setReplayMode:n=>{e(i=>{const l={...i,replayMode:!0,replayEvents:n,replayTotalEvents:n.length,replayPosition:n.length,replayPlaying:!1,replaySpeed:1,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vu[o.type];s&&s(l,o.data,o.timestamp);const u=bu(o);u&&l.eventLog.push(u);const f=wu(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},setReplayPosition:n=>{e(i=>{const l=i.replayEvents.slice(0,n),o={...i,replayPosition:n,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null,workflowStatus:"pending",workflowStartTime:null,workflowName:"",workflowFailure:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],isPaused:!1,lastEventTime:null};for(const s of l){const u=vu[s.type];u&&u(o,s.data,s.timestamp);const f=bu(s);f&&o.eventLog.push(f);const d=wu(s);d&&o.activityLog.push(d),o.lastEventTime=s.timestamp}return o})},setReplayPlaying:n=>{e({replayPlaying:n})},setReplaySpeed:n=>{e({replaySpeed:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vu={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.workflowYaml=l.yaml_source??null,e.conductorVersion=l.version??null,e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],l.context_window_max!=null&&(o.context_window_max=l.context_window_max),o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){ro(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};xu(e.nodes,i.agent_name,o),l&&ro(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bu(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Du(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wu(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:io(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?io(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?io(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:io(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Du(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?io(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function io(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function _x(e){const n=e.match(/^(\s*)/);return n?n[1].length:0}function gN(e){const n=new Map;for(let i=0;io)s=u;else break}s>i&&n.set(i,s)}return n}function yN(e){if(/^\s*#/.test(e))return b.jsx("span",{className:"text-emerald-500/70",children:e});const n=e.match(/^(\s*)(- )?([a-zA-Z_][\w.-]*)(:\s*)(.*)/);if(n){const[,l,o,s,u,f]=n;return b.jsxs("span",{children:[l,o??"",b.jsx("span",{className:"text-sky-400",children:s}),b.jsx("span",{className:"text-[var(--text-muted)]",children:u}),Ex(f)]})}const i=e.match(/^(\s*)(- )(.*)/);if(i){const[,l,o,s]=i;return b.jsxs("span",{children:[l,b.jsx("span",{className:"text-[var(--text-muted)]",children:o}),Ex(s)]})}return b.jsx("span",{children:e})}function Ex(e){if(!e)return"";const n=e.indexOf(" #"),i=n>=0?e.slice(0,n):e,l=n>=0?e.slice(n):"";let o=i;return/^(true|false|null|yes|no)$/i.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^\d+(\.\d+)?$/.test(i.trim())?o=b.jsx("span",{className:"text-amber-400",children:i}):/^["'].*["']$/.test(i.trim())?o=b.jsx("span",{className:"text-green-400",children:i}):(i.includes("|")||i.includes(">"))&&(o=b.jsx("span",{className:"text-[var(--text-secondary)]",children:i})),b.jsxs(b.Fragment,{children:[o,l&&b.jsx("span",{className:"text-emerald-500/70",children:l})]})}function xN({yaml:e,onClose:n}){const[i,l]=V.useState(new Set);V.useEffect(()=>{const d=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n]);const o=V.useMemo(()=>e.split(` +`),[e]),s=V.useMemo(()=>gN(o),[o]),u=V.useCallback(d=>{l(h=>{const m=new Set(h);return m.has(d)?m.delete(d):m.add(d),m})},[]),f=V.useMemo(()=>{const d=[];let h=-1;for(let m=0;mb.jsxs("div",{className:"flex",children:[b.jsx("span",{className:"inline-flex items-center justify-center flex-shrink-0",style:{width:"1.25rem"},children:m?b.jsx("button",{onClick:()=>u(d),className:"text-[var(--text-muted)] hover:text-[var(--text)] p-0 leading-none",style:{background:"none",border:"none",cursor:"pointer"},children:p?b.jsx(ia,{className:"w-3 h-3"}):b.jsx(Fi,{className:"w-3 h-3"})}):null}),b.jsxs("span",{className:"flex-1",children:[yN(h),p&&b.jsx("span",{className:"text-[var(--text-muted)] text-[11px] ml-2 px-1.5 py-0.5 rounded bg-[var(--surface-hover)] cursor-pointer",onClick:()=>u(d),children:"···"})]})]},d))})})]})]})}function vN(){const e=he(_=>_.workflowName),n=he(_=>_.workflowStatus),i=he(_=>_.isPaused),l=he(_=>_.workflowYaml),o=he(_=>_.conductorVersion),[s,u]=V.useState(!1),[f,d]=V.useState(!1),[h,m]=V.useState(!1),[p,y]=V.useState(!1),v=n==="running"||n==="pending";V.useEffect(()=>{i||(u(!1),d(!1),m(!1))},[i]);const w=async()=>{u(!0);try{await fetch("/api/stop",{method:"POST"})}catch(_){console.error("Failed to stop agent:",_),u(!1)}},k=async()=>{d(!0);try{await fetch("/api/resume",{method:"POST"})}catch(_){console.error("Failed to resume agent:",_),d(!1)}},S=async()=>{m(!0);try{await fetch("/api/kill",{method:"POST"})}catch(_){console.error("Failed to kill workflow:",_),m(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(kb,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:k,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 hover:border-emerald-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Vp,{className:"w-3 h-3"}),u?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:k,disabled:d,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Vp,{className:"w-3 h-3"}),f?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:S,disabled:h,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 hover:border-red-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(Bo,{className:"w-3 h-3"}),d?"Killing...":"Kill"]})]}):y?b.jsxs("button",{onClick:v,disabled:o,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(Bo,{className:"w-3 h-3"}),h?"Killing...":"Kill"]})]}):v?b.jsxs("button",{onClick:w,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 hover:border-red-500/30 disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,children:[b.jsx(Cb,{className:"w-3 h-3"}),o?"Stopping...":"Stop"]}):null,l&&b.jsxs("button",{onClick:()=>p(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,children:[b.jsx(Tb,{className:"w-3 h-3"}),s?"Stopping...":"Stop"]}):null,l&&b.jsxs("button",{onClick:()=>y(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"View workflow YAML configuration",children:[b.jsx(Z2,{className:"w-3 h-3"}),"YAML"]}),b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + transition-colors`,title:"View workflow YAML configuration",children:[b.jsx(K2,{className:"w-3 h-3"}),"YAML"]}),b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(F2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]}),m&&l&&b.jsx(yN,{yaml:l,onClose:()=>p(!1)})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Zl(e){return e==null?"":`$${e.toFixed(4)}`}function Tb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function zb(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function vN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=zb(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(uN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(sN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(W2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(P2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(X2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const bN=[1,5,10,20,50];function wN(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function SN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(tN,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(Q2,{className:"w-3 h-3"}),"Logs"]}),b.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["v",o??"—"]})]}),p&&l&&b.jsx(xN,{yaml:l,onClose:()=>y(!1)})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function ln(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Zl(e){return e==null?"":`$${e.toFixed(4)}`}function zb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function bN(e,n){if(n<=0)return`${e.toLocaleString()} tokens (limit unknown)`;const i=o=>o.toLocaleString(),l=(e/n*100).toFixed(1);return`${i(e)} / ${i(n)} (${l}%)`}function Ab(){const e=he(f=>f.workflowStatus),n=he(f=>f.workflowStartTime),i=he(f=>f.replayMode),l=he(f=>f.lastEventTime),[o,s]=V.useState("—"),u=V.useRef(null);return V.useEffect(()=>{if(n!=null){if(i){u.current&&(clearInterval(u.current),u.current=null),s(ln((l??n)-n));return}if(e==="running"){const f=()=>{const d=Date.now()/1e3-n;s(ln(d))};return f(),u.current=setInterval(f,500),()=>{u.current&&clearInterval(u.current)}}else(e==="completed"||e==="failed")&&u.current&&(clearInterval(u.current),u.current=null)}},[e,n,i,l]),o}function wN(){const e=he(k=>k.workflowStatus),n=he(k=>k.agentsCompleted),i=he(k=>k.agentsTotal),l=he(k=>k.totalCost),o=he(k=>k.totalTokens),s=he(k=>k.wsStatus),u=he(k=>k.workflowFailure),f=he(k=>k.lastEventTime),d=Ab(),[h,m]=V.useState(null);V.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(cN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(uN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(_o,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(eN,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(F2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(P2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const SN=[1,5,10,20,50];function _N(e,n){if(n===0||e.length===0)return"+0.0s";const i=e[0].timestamp,o=e[Math.min(n,e.length)-1].timestamp-i;if(o<60)return`+${o.toFixed(1)}s`;const s=Math.floor(o/60),u=o%60;return`+${s}m${u.toFixed(0)}s`}function EN(){const e=he(p=>p.replayPosition),n=he(p=>p.replayTotalEvents),i=he(p=>p.replayPlaying),l=he(p=>p.replaySpeed),o=he(p=>p.replayEvents),s=he(p=>p.setReplayPosition),u=he(p=>p.setReplayPlaying),f=he(p=>p.setReplaySpeed),d=p=>{const y=parseInt(p.target.value,10);s(y),i&&u(!1)},h=()=>{!i&&e>=n&&s(0),u(!i)},m=n>0?e/n*100:0;return b.jsxs("footer",{className:"flex items-center gap-3 px-4 py-1.5 border-t bg-[var(--surface)] border-[var(--border)] text-xs flex-shrink-0",children:[b.jsx("button",{onClick:h,className:"flex items-center justify-center w-6 h-6 rounded hover:bg-[var(--surface-hover)] text-[var(--text-secondary)] hover:text-[var(--text)] transition-colors",title:i?"Pause":"Play",children:i?b.jsx(nN,{className:"w-3.5 h-3.5"}):b.jsx(Vp,{className:"w-3.5 h-3.5"})}),b.jsxs("div",{className:"flex-1 relative flex items-center",children:[b.jsx("input",{type:"range",min:0,max:n,value:e,onChange:d,className:"w-full h-1 appearance-none rounded-full cursor-pointer",style:{background:`linear-gradient(to right, var(--accent) 0%, var(--accent) ${m}%, var(--border) ${m}%, var(--border) 100%)`,WebkitAppearance:"none"}}),b.jsx("style",{children:` footer input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; @@ -265,7 +265,7 @@ Error generating stack: `+c.message+` cursor: pointer; box-shadow: 0 0 4px rgba(99, 102, 241, 0.4); } - `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:wN(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:bN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,Nx=O2.useId,_N=typeof Nx=="function"?Nx:()=>null;let EN=0;function Gp(e=null){const n=_N(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+EN++),e??i.current}function Ab({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:T,groupId:B,isPanelCollapsed:A,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return A(I.current)},isExpanded(){return!A(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,A,H,R]);const ee=T(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const fo=V.forwardRef((e,n)=>V.createElement(Ab,{...e,forwardedRef:n}));Ab.displayName="Panel";fo.displayName="forwardRef(Panel)";let mp=null,Lu=-1,ci=null;function NN(e,n){if(n){const i=(n&Rb)!==0,l=(n&Lb)!==0,o=(n&Hb)!==0,s=(n&Bb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function kN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Lu=-1)}function Yd(e,n){var i,l;const o=NN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Lu>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Lu)}Lu=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Mb(e){return e.type==="keydown"}function jb(e){return e.type.startsWith("pointer")}function Ob(e){return e.type.startsWith("mouse")}function oc(e){if(jb(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Ob(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function CN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function TN(e,n,i){return e.xn.x&&e.yn.y}function zN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Tx(e),b:Tx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Cx(kx(i.a)),b:Cx(kx(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const AN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function MN(e){var n;const i=getComputedStyle((n=Db(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function jN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||MN(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||AN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function kx(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),jN(i))return i}return null}function Cx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Tx(e){const n=[];for(;e;)n.push(e),e=Db(e);return n}function Db(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Rb=1,Lb=2,Hb=4,Bb=8,ON=CN()==="coarse";let In=[],$l=!1,Li=new Map,sc=new Map;const Eo=new Set;function DN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),Eo.add(f),Gu(),function(){var m;sc.delete(e),Eo.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Gu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function RN(e){const{target:n}=e,{x:i,y:l}=oc(e);$l=!0,$p({target:n,x:i,y:l}),Gu(),In.length>0&&($u("down",e),e.preventDefault(),qb(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if($l&&e.buttons===0&&($l=!1,$u("up",e)),!$l){const{target:l}=e;$p({target:l,x:n,y:i})}$u("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),$l=!1,In.length>0&&(e.preventDefault(),qb(n)||e.stopImmediatePropagation()),$u("up",e),$p({target:n,x:i,y:l}),Xp(),Gu()}function qb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),Eo.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=ON?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&zN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(TN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):kN()}let Pd=new AbortController;function Gu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};Eo.size&&($l?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",RN,e),l.addEventListener("pointermove",Gd,e))}))}function $u(e,n){Eo.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function LN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function HN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];De(k!=null,`Previous layout not found for panel index ${y}`);const E=Il({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(HN(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Il({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function BN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function No(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Ub(e,n,i=document){const o=No(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Ib(e,n,i){const l=Ub(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Vb(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function qN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=No(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function UN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=No(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Vb(i,s);De(h!=null,`No group found for id "${i}"`);const m=No(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=qN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const T=l[z],{collapsedSize:B=0,collapsible:A,minSize:q=0}=_.constraints;if(T!=null&&A){const M=ho({delta:yn(T,B)?q-B:B-T,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:Ib(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function zx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function Su(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Ax(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Gb(e){return`react-resizable-panels:${e}`}function $b(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Xb(e,n){try{const i=Gb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function XN(e,n,i){var l,o;const s=(l=Xb(e,i))!==null&&l!==void 0?l:{},u=$b(n);return(o=s[u])!==null&&o!==void 0?o:null}function PN(e,n,i,l,o){var s;const u=Gb(e),f=$b(n),d=(s=Xb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Mx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Ax(po),po.getItem(e)),setItem:(e,n)=>{Ax(po),po.setItem(e,n)}},jx={};function Pb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=po,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,E]=V.useState([]),z=LN(),_=V.useRef({}),T=V.useRef(new Map),B=V.useRef(0),A=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current,ne=Mx({layout:N,panelConstraints:K.map(re=>re.constraints)});zx(F,ne)||(E(ne),q.current.layout=ne,Y&&Y(ne),Rl(K,ne,_.current))}}),[]),qi(()=>{A.current.autoSaveId=e,A.current.direction=l,A.current.dragState=w,A.current.id=y,A.current.onLayout=u,A.current.storage=d}),UN({committedValuesRef:A,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=jx[e];Y==null&&(Y=$N(PN,FN),jx[e]=Y);const F=[...N],K=new Map(T.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=A.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Di(K,N,F);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){T.current.set(N.id,se);const xe=ql(K,N)===K.length-1?se-re:re-se,pe=ho({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});Su(F,pe)||(E(pe),q.current.layout=pe,Y&&Y(pe),Rl(K,pe,_.current))}}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Di(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=T.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=ql(ne,N)===ne.length-1?ye-Me:Me-ye,We=ho({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});Su(K,We)||(E(We),q.current.layout=We,F&&F(We),Rl(ne,We,_.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Di(F,N,Y);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=ql(F,N);return GN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(F,N,Y);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=A.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=XN(N,ne,F);ye&&(T.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=YN({panelDataArray:ne}));const se=Mx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});zx(K,se)||(E(se),q.current.layout=se,Y&&Y(se),Rl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=A.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=Ib(ve,N,re);let We=VN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Dt=ho({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:Mb(ne)?"keyboard":"mouse-or-touch"}),wn=!Su(_e,Dt);(jb(ne)||Ob(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Rb:Lb):Xd(N,We<0?Hb:Bb):Xd(N,0)),wn&&(E(Dt),q.current.layout=Dt,pe&&pe(Dt),Rl(Me,Dt,_.current))}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=A.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const xe=ql(ne,N)===ne.length-1?se-Y:Y-se,pe=ho({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});Su(K,pe)||(E(pe),q.current.layout=pe,F&&F(pe),Rl(ne,pe,_.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Di(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||D(N,se):peve&&D(N,ve))},[D]),Z=V.useCallback((N,Y)=>{const{direction:F}=A.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Yb(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=ql(Y,N);F>=0&&(Y.splice(F,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,y,I,ee,$,L,G,D,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement(Pb,{...e,forwardedRef:n}));Pb.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function ql(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=ql(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function QN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=No(f,l),h=Ub(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const E=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=V.useContext(ac);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:T,groupId:B,registerResizeHandle:A,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,D]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)D(null);else{const U=A(X);D(()=>U)}},[i,X,A]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return DN(X,U,T,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,T,i,J,A,X,G,q,M]),QN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:T,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Hu.prototype=cc.prototype={constructor:Hu,on:function(e,n){var i=this._,l=KN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Dx.hasOwnProperty(n)?{space:Dx[n],local:e}:e}function WN(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function ek(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fb(e){var n=fc(e);return(n.local?ek:WN)(n)}function tk(){}function Pp(e){return e==null?tk:function(){return this.querySelector(e)}}function nk(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function Ck(e){e||(e=Tk);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function zk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ak(){return Array.from(this)}function Mk(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Vk:typeof n=="function"?Gk:Yk)(e,n,i??"")):Kl(this.node(),e)}function Kl(e,n){return e.style.getPropertyValue(n)||Wb(e).getComputedStyle(e,null).getPropertyValue(n)}function Xk(e){return function(){delete this[e]}}function Pk(e,n){return function(){this[e]=n}}function Fk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Qk(e,n){return arguments.length>1?this.each((n==null?Xk:typeof n=="function"?Fk:Pk)(e,n)):this.node()[e]}function ew(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new tw(e)}function tw(e){this._node=e,this._names=ew(e.getAttribute("class")||"")}tw.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function nw(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function _C(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function OC(e){return!e.ctrlKey&&!e.button}function DC(){return this.parentNode}function RC(e,n){return n??{x:e.x,y:e.y}}function LC(){return navigator.maxTouchPoints||"ontouchstart"in this}function sw(){var e=OC,n=DC,i=RC,l=LC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(T){T.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,jC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(T,B){if(!(m||!e.call(this,T,B))){var A=_(this,n.call(this,T,B),T,B,"mouse");A&&(xn(T.view).on("mousemove.drag",w,ko).on("mouseup.drag",k,ko),aw(T.view),Fd(T),h=!1,f=T.clientX,d=T.clientY,A("start",T))}}function w(T){if(Xl(T),!h){var B=T.clientX-f,A=T.clientY-d;h=B*B+A*A>p}o.mouse("drag",T)}function k(T){xn(T.view).on("mousemove.drag mouseup.drag",null),ow(T.view,h),Xl(T),o.mouse("end",T)}function S(T,B){if(e.call(this,T,B)){var A=T.changedTouches,q=n.call(this,T,B),M=A.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Eu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Eu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=BC.exec(e))?new nn(n[1],n[2],n[3],1):(n=qC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=UC.exec(e))?Eu(n[1],n[2],n[3],n[4]):(n=IC.exec(e))?Eu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=VC.exec(e))?Ix(n[1],n[2]/100,n[3]/100,1):(n=YC.exec(e))?Ix(n[1],n[2]/100,n[3]/100,n[4]):Rx.hasOwnProperty(e)?Bx(Rx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Bx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function Eu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function XC(e){return e instanceof Uo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?XC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,uw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Fu(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:qx,formatHex:qx,formatHex8:PC,formatRgb:Ux,toString:Ux}));function qx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function PC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ux(){const e=Fu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Fu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Ix(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function cw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof Uo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function FC(e,n,i,l){return arguments.length===1?cw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,FC,uw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Vx(this.h),Nu(this.s),Nu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fu(this.opacity);return`${e===1?"hsl(":"hsla("}${Vx(this.h)}, ${Nu(this.s)*100}%, ${Nu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Vx(e){return e=(e||0)%360,e<0?e+360:e}function Nu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function QC(e,n){return function(i){return e+i*n}}function ZC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function KC(e){return(e=+e)==1?fw:function(n,i){return i-n?ZC(n,i,e):Zp(isNaN(n)?i:n)}}function fw(e,n){var i=n-e;return i?QC(e,i):Zp(isNaN(e)?n:e)}const Qu=(function e(n){var i=KC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=fw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function JC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Jl}function $x(){Gi=(Ku=zo.now())+dc,Jl=mo=0;try{h3()}finally{Jl=0,m3(),Gi=0}}function p3(){var e=zo.now(),n=e-Ku;n>mw&&(dc-=n,Ku=e)}function m3(){for(var e,n=Zu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Zu=i);go=e,_p(l)}function _p(e){if(!Jl){mo&&(mo=clearTimeout(mo));var n=e-Gi;n>24?(e<1/0&&(mo=setTimeout($x,e-zo.now()-dc)),lo&&(lo=clearInterval(lo))):(lo||(Ku=zo.now(),lo=setInterval(p3,mw)),Jl=1,gw($x))}}function Xx(e,n,i){var l=new Ju;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var g3=cc("start","end","cancel","interrupt"),y3=[],xw=0,Px=1,Ep=2,qu=3,Fx=4,Np=5,Uu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;x3(e,i,{name:n,index:l,group:o,on:g3,tween:y3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:xw})}function Jp(e,n){var i=Yn(e,n);if(i.state>xw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>qu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function x3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=yw(s,0,i.time);function s(h){i.state=Px,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==Px)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===qu)return Xx(u);v.state===Fx?(v.state=Uu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function F3(e,n,i){var l,o,s=P3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function Q3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(F3(i,e,n))}function Z3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function K3(){return this.on("end.remove",Z3(this._id))}function J3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function _T(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);Sw.prototype=Cr.prototype;function Sw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function ao(e){e.preventDefault(),e.stopImmediatePropagation()}function ET(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function NT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Qx(){return this.__zoom||pc}function kT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function CT(){return navigator.maxTouchPoints||"ontouchstart"in this}function TT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function _w(){var e=ET,n=NT,i=TT,l=kT,o=CT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Bu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Qx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Qx),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){A(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?T(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,P),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?T(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function T(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){A(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=A(Z,J).event($),U=n.apply(Z,J),P=D==null?T(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function A(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new _T(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=A(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Iu(this),D.start()}ao(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(y||!e.apply(this,arguments))return;var D=L.currentTarget,$=A(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,D),j=L.clientX,U=L.clientY;aw(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Iu(this),$.start();function P(Y){if(ao(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Hn(Y,D),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),ow(Y.view,$.moved),ao(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);ao(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=A(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=D[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Iu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=A(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(ao(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ao=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ew=["Enter"," ","Escape"],Nw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Wl;(function(e){e.Strict="strict",e.Loose="loose"})(Wl||(Wl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Mo;(function(e){e.Partial="partial",e.Full="full"})(Mo||(Mo={}));const kw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Wu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wu||(Wu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Zx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Cw(e){return e===null?null:e?"valid":"invalid"}const Tw=e=>"id"in e&&"source"in e&&"target"in e,zT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Io=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},AT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?ec(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Vo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,ec(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Go(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=jo(f,ta(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},MT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function jT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function OT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=jT(e,u),d=Vo(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function zw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&na(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=na(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function DT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=MT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const ea=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:ea(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:ea(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Aw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Kx=(e,n,i)=>ei?-ea(Math.abs(e-i),1,n)/n:0,Mw=(e,n,i=15,l=40)=>{const o=Kx(e.x,l,n.width-l)*i,s=Kx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ta=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},ec=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},jw=(e,n)=>gc(mc(kp(e),kp(n))),jo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Jx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),RT=(e,n)=>{},Yo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Go=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Yo(f,u):f},tc=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Ll(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function LT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Ll(e,i),o=Ll(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Ll(e.top??e.y??0,i),o=Ll(e.bottom??e.y??0,i),s=Ll(e.left??e.x??0,n),u=Ll(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function HT(e,n,i,l,o,s){const{x:u,y:f}=tc(e,[n,i,l]),{x:d,y:h}=tc({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=LT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=ea(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=HT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},Oo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function na(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Ow(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Dw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Wx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function BT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function qT(e){return{...Nw,...e||{}}}function vo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Go({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Yo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Rw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},UT=["INPUT","SELECT","TEXTAREA"];function Lw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:UT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Hw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Hw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},ev=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Tu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function tv({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Tu(n-l,s),i];case we.Right:return[n+Tu(l-n,s),i];case we.Top:return[n,i-Tu(i-o,s)];case we.Bottom:return[n,i+Tu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=tv({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=tv({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=Bw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function qw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const YT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,GT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),$T=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||YT;let o;return Tw(e)?o={...e}:o={...e,id:l(e)},GT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Uw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=qw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const nv={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},XT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function PT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=nv[n],d=nv[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=XT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,T]=qw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const A=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?A:q:w=y==="x"?q:A}else{const A=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:A:w=f.y===v?A:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,T]}function FT(e,n,i,l){const o=Math.min(rv(e,n)/2,rv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let T="";return _>0&&_i.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function ZT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Iw=1e3,KT=10,lm={nodeOrigin:[0,0],nodeExtent:Ao,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},JT={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function WT(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Io(o,l.nodeOrigin),u=na(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function ez(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(JT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?Iw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Io(p,o.nodeOrigin),w=na(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:ez(p,y),z:Vw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function tz(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}tz(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*KT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?Iw:0,{x:y,y:v,z:w}=nz(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Vw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function nz(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Io(e,i),m=na(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Aw(p,d,n));const y=Vw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ta(d),m=jw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(T=>{e.some(B=>B.id===T.id)||o.push({id:T.id,type:"position",position:{x:T.position.x+v,y:T.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function iz({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function ov(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Yw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;ov("source",d,m,e,o,u),ov("target",d,h,e,s,f),n.set(l.id,l)}}function Gw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Gw(i,n):!1}function sv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function lz(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Gw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function az({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Yo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function oz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:T,isSelectable:B,nodeId:A,nodeClickDistance:q=0}){y=xn(T);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Vo(f)):null,K=Y&&$?az({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Yo(se,D));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=zw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!A&&j))){const[ne,re]=Jd({nodeId:A,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),A||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=Mw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&A&&((Y=ee.get(A))!=null&&Y.selected||P()),B&&J&&A&&(e==null||e(A));const N=vo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=lz(ee,G,N,A),f.size>0&&(i||j||!A&&U)){const[F,K]=Jd({nodeId:A,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),A||U==null||U(I.sourceEvent,K)}}const H=sw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=vo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=vo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||A&&!Z.has(A))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!A&&D){const[$,Z]=Jd({nodeId:A,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),A||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!sv(ee,`.${z}`,T))&&(!_||sv(ee,_,T))});y.call(H)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function sz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())jo(o,ta(s))>0&&l.push(s);return l}const uz=250;function cz(e,n,i,l){var f,d;let o=[],s=1/0;const u=sz(e,i,n+uz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function $w(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Xw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function fz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Pw=()=>!0;function dz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=Pw,onReconnectEnd:z,updateConnection:_,getTransform:T,getFromHandle:B,autoPanSpeed:A,dragThreshold:q=1,handleDomNode:M}){const R=Rw(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Xw(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=$w(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=Mw(Z,G,A);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Zx[Y.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=T();Z=Un(ve,G),H=cz(Go(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Fw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=fz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?tc({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Zx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ye),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ye)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ye),R.addEventListener("touchmove",se),R.addEventListener("touchend",ye)}function Fw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Pw,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Xw(void 0,S),_=S.getAttribute("data-nodeid"),T=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),A=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?T:o,target:p?l:_,targetHandle:p?o:T};E.connection=q;const R=B&&A&&(i===Wl.Strict?p&&z==="source"||!p&&z==="target":_!==l||T!==o);E.isValid=R&&h(q),E.toHandle=$w(_,z,T,m,i,!0)}return E}const Ap={onPointerDown:dz,isValid:Fw};function hz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const T=i(),B=_.sourceEvent.ctrlKey&&Oo()?10:1,A=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=T[2]*Math.pow(2,A*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const T=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],A=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(T[2],Math.log(T[2]))*(v?-1:1),M={x:T[0]-A[0]*q,y:T[1]-A[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:T[2]},R,f)},z=_w().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Vl=(e,n)=>e.target.closest(`.${n}`),Qw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),pz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=pz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Zw=e=>{const n=e.ctrlKey&&Oo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function mz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Vl(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),E=Zw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!Oo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function gz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Vl(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function yz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function xz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Qw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function vz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Qw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function bz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Vl(p,`${h}-flow__node`)||Vl(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Vl(p,f)&&w||Vl(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function wz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=_w().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:ea(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Zw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?mz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):gz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=yz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=xz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=vz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=bz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function T(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?Sw(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function A(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:A,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:T,setClickDistance:X}}var ra;(function(e){e.Line="line",e.Handle="handle"})(ra||(ra={}));function Sz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function uv(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function zu(e,n,i){return Math.max(0,n-e,e-i)}function cv(e,n){return e?!n:n}function _z(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:T,width:B,height:A,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=A+(h?-R:R),I=-s[0]*B,ee=-s[1]*A;let L=zu(X,k,S),G=zu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(T+R+ee,u[0][1]):!h&&R>0&&(J=si(T+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(T+R,f[0][1]):!h&&R<0&&(J=oi(T+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=zu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(T+ee+X/q,u[1][1])*q:J=oi(T+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(T+X/q,f[1][1])*q:J=si(T+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=zu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?R=(cv(d,h)?-M:M)/q:M=(cv(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?T+R:T;return{width:B+(d?-M:M),height:A+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Kw={width:0,height:0,x:0,y:0},Ez={...Kw,pointerX:0,pointerY:0,aspectRatio:1};function Nz(e){return[[0,0],[e.measured.width,e.measured.height]]}function kz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function Cz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:uv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Kw},z={...Ez};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:uv(h)};let _,T=null,B=[],A,q,M,R=!1;const X=sw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;T=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=vo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:T});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},A=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(A=I.get(_.parentId),q=A&&_.extent==="parent"?Nz(A):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=kz(U,_,U.origin??D);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=vo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:T}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,P={},N=_.origin??G,{width:Y,height:F,x:K,y:ne}=_z(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),A&&_.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** + `})]}),b.jsx("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:_N(o,e)}),b.jsxs("span",{className:"text-[var(--text-muted)] font-mono whitespace-nowrap",children:["Event ",e,"/",n]}),b.jsx("div",{className:"flex items-center gap-0.5",children:SN.map(p=>b.jsxs("button",{onClick:()=>f(p),className:Ye("px-1.5 py-0.5 rounded text-xs font-mono transition-colors",l===p?"bg-[var(--accent)] text-white":"text-[var(--text-muted)] hover:text-[var(--text-secondary)] hover:bg-[var(--surface-hover)]"),children:[p,"×"]},p))})]})}const ac=V.createContext(null);ac.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Yp=10,qi=V.useLayoutEffect,Nx=R2.useId,NN=typeof Nx=="function"?Nx:()=>null;let kN=0;function Gp(e=null){const n=NN(),i=V.useRef(e||n||null);return i.current===null&&(i.current=""+kN++),e??i.current}function Mb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...k}){const S=V.useContext(ac);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:_,expandPanel:z,getPanelSize:E,getPanelStyle:A,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:D,unregisterPanel:X}=S,H=Gp(u),I=V.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:y});V.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,R={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=y,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(R.collapsedSize!==G.collapsedSize||R.collapsible!==G.collapsible||R.maxSize!==G.maxSize||R.minSize!==G.minSize)&&q(I.current,R)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[y,H,M,X]),V.useImperativeHandle(s,()=>({collapse:()=>{_(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return E(I.current)},isCollapsed(){return T(I.current)},isExpanded(){return!T(I.current)},resize:L=>{D(I.current,L)}}),[_,z,E,T,H,D]);const ee=A(I.current,o);return V.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const fo=V.forwardRef((e,n)=>V.createElement(Mb,{...e,forwardedRef:n}));Mb.displayName="Panel";fo.displayName="forwardRef(Panel)";let mp=null,Lu=-1,ci=null;function CN(e,n){if(n){const i=(n&Lb)!==0,l=(n&Hb)!==0,o=(n&Bb)!==0,s=(n&qb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function TN(){ci!==null&&(document.head.removeChild(ci),mp=null,ci=null,Lu=-1)}function Yd(e,n){var i,l;const o=CN(e,n);if(mp!==o){if(mp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),Lu>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(Lu)}Lu=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function jb(e){return e.type==="keydown"}function Ob(e){return e.type.startsWith("pointer")}function Rb(e){return e.type.startsWith("mouse")}function oc(e){if(Ob(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(Rb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function zN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function AN(e,n,i){return e.xn.x&&e.yn.y}function MN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Tx(e),b:Tx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;Re(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Cx(kx(i.a)),b:Cx(kx(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const jN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function ON(e){var n;const i=getComputedStyle((n=Db(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function RN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||ON(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||jN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function kx(e){let n=e.length;for(;n--;){const i=e[n];if(Re(i,"Missing node"),RN(i))return i}return null}function Cx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Tx(e){const n=[];for(;e;)n.push(e),e=Db(e);return n}function Db(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Lb=1,Hb=2,Bb=4,qb=8,DN=zN()==="coarse";let In=[],$l=!1,Li=new Map,sc=new Map;const Eo=new Set;function LN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),Eo.add(f),Gu(),function(){var m;sc.delete(e),Eo.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Gu(),p===1&&Li.delete(u),In.includes(f)){const y=In.indexOf(f);y>=0&&In.splice(y,1),Xp(),o("up",!0,null)}}}function HN(e){const{target:n}=e,{x:i,y:l}=oc(e);$l=!0,$p({target:n,x:i,y:l}),Gu(),In.length>0&&($u("down",e),e.preventDefault(),Ub(n)||e.stopImmediatePropagation())}function Gd(e){const{x:n,y:i}=oc(e);if($l&&e.buttons===0&&($l=!1,$u("up",e)),!$l){const{target:l}=e;$p({target:l,x:n,y:i})}$u("move",e),Xp(),In.length>0&&e.preventDefault()}function $d(e){const{target:n}=e,{x:i,y:l}=oc(e);sc.clear(),$l=!1,In.length>0&&(e.preventDefault(),Ub(n)||e.stopImmediatePropagation()),$u("up",e),$p({target:n,x:i,y:l}),Xp(),Gu()}function Ub(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function $p({target:e,x:n,y:i}){In.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),Eo.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=DN?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&MN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(AN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}In.push(o)}})}function Xd(e,n){sc.set(e,n)}function Xp(){let e=!1,n=!1;In.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;sc.forEach(l=>{i|=l}),e&&n?Yd("intersection",i):e?Yd("horizontal",i):n?Yd("vertical",i):TN()}let Pd=new AbortController;function Gu(){Pd.abort(),Pd=new AbortController;const e={capture:!0,signal:Pd.signal};Eo.size&&($l?(In.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",$d,e),l.addEventListener("pointerleave",Gd,e),l.addEventListener("pointermove",Gd,e))}),window.addEventListener("pointerup",$d,e),window.addEventListener("pointercancel",$d,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",HN,e),l.addEventListener("pointermove",Gd,e))}))}function $u(e,n){Eo.forEach(i=>{const{setResizeHandlerState:l}=i,o=In.includes(i);l(e,o,n)})}function BN(){const[e,n]=V.useState(0);return V.useCallback(()=>n(i=>i+1),[])}function Re(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=Yp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=Yp){return Vi(e,n,i)===0}function yn(e,n,i){return Vi(e,n,i)===0}function qN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-_:_)}}}{const p=e<0?f:d,y=i[p];Re(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=y;if(w){const S=n[p];if(Re(S!=null,`Previous layout not found for panel index ${p}`),yn(S,k)){const _=S-v;Vi(_,Math.abs(e))>0&&(e=e<0?0-_:_)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const k=n[y];Re(k!=null,`Previous layout not found for panel index ${y}`);const _=Il({panelConstraints:i,panelIndex:y,size:100})-k;if(v+=_,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(qN(o,u))return o;{const p=e<0?d:f,y=n[p];Re(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=Il({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!yn(w,v)){let k=v-w,_=e<0?d:f;for(;_>=0&&_0?_--:_++}}}const m=u.reduce((p,y)=>y+p,0);return yn(m,100)?u:o}function UN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];Re(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;y===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function No(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function Ib(e,n,i=document){const o=No(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Vb(e,n,i){const l=Ib(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Yb(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function uc(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function IN(e,n,i,l=document){var o,s,u,f;const d=uc(n,l),h=No(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function VN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){V.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=No(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),V.useEffect(()=>{if(!s)return;const f=n.current;Re(f,"Eager values not found");const{panelDataArray:d}=f,h=Yb(i,s);Re(h!=null,`No group found for id "${i}"`);const m=No(i,s);Re(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(gt.resizeHandleId);Re(v,"Resize handle element has no handle id attribute");const[w,k]=IN(i,v,d,s);if(w==null||k==null)return()=>{};const S=_=>{if(!_.defaultPrevented)switch(_.key){case"Enter":{_.preventDefault();const z=d.findIndex(E=>E.id===w);if(z>=0){const E=d[z];Re(E,`No panel data found for index ${z}`);const A=l[z],{collapsedSize:B=0,collapsible:T,minSize:q=0}=E.constraints;if(A!=null&&T){const M=ho({delta:yn(A,B)?q-B:B-A,initialLayout:l,panelConstraints:d.map(D=>D.constraints),pivotIndices:Vb(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function zx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];Re(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),y&&(p==null||!kr(p,h))&&kr(l,h)&&y())}})}function Su(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Ax(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function $b(e){return`react-resizable-panels:${e}`}function Xb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function Pb(e,n){try{const i=$b(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function FN(e,n,i){var l,o;const s=(l=Pb(e,i))!==null&&l!==void 0?l:{},u=Xb(n);return(o=s[u])!==null&&o!==void 0?o:null}function QN(e,n,i,l,o){var s;const u=$b(e),f=Xb(n),d=(s=Pb(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Mx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!yn(l,100)&&i.length>0)for(let s=0;s(Ax(po),po.getItem(e)),setItem:(e,n)=>{Ax(po),po.setItem(e,n)}},jx={};function Fb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=po,style:h,tagName:m="div",...p}){const y=Gp(s),v=V.useRef(null),[w,k]=V.useState(null),[S,_]=V.useState([]),z=BN(),E=V.useRef({}),A=V.useRef(new Map),B=V.useRef(0),T=V.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),q=V.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});V.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),V.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current,ne=Mx({layout:N,panelConstraints:K.map(re=>re.constraints)});zx(F,ne)||(_(ne),q.current.layout=ne,Y&&Y(ne),Dl(K,ne,E.current))}}),[]),qi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=y,T.current.onLayout=u,T.current.storage=d}),VN({committedValuesRef:T,eagerValuesRef:q,groupId:y,layout:S,panelDataArray:q.current.panelDataArray,setLayout:_,panelGroupElement:v.current}),V.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let Y=jx[e];Y==null&&(Y=PN(QN,ZN),jx[e]=Y);const F=[...N],K=new Map(A.current);Y(e,F,K,S,d)}},[e,S,d]),V.useEffect(()=>{});const M=V.useCallback(N=>{const{onLayout:Y}=T.current,{layout:F,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ye}=Ri(K,N,F);if(Re(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){A.current.set(N.id,se);const xe=ql(K,N)===K.length-1?se-re:re-se,pe=ho({delta:xe,initialLayout:F,panelConstraints:ne,pivotIndices:ye,prevLayout:F,trigger:"imperative-api"});Su(F,pe)||(_(pe),q.current.layout=pe,Y&&Y(pe),Dl(K,pe,E.current))}}},[]),D=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ye=0,minSize:ve=0,pivotIndices:xe}=Ri(ne,N,K),pe=Y??ve;if(kr(ye,se)){const _e=A.current.get(N.id),Me=_e!=null&&_e>=pe?_e:pe,st=ql(ne,N)===ne.length-1?ye-Me:Me-ye,We=ho({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:xe,prevLayout:K,trigger:"imperative-api"});Su(K,We)||(_(We),q.current.layout=We,F&&F(We),Dl(ne,We,E.current))}}},[]),X=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{panelSize:K}=Ri(F,N,Y);return Re(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=V.useCallback((N,Y)=>{const{panelDataArray:F}=q.current,K=ql(F,N);return XN({defaultSize:Y,dragState:w,layout:S,panelData:F,panelIndex:K})},[w,S]),I=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Ri(F,N,Y);return Re(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=V.useCallback(N=>{const{layout:Y,panelDataArray:F}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Ri(F,N,Y);return Re(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=V.useCallback(N=>{const{panelDataArray:Y}=q.current;Y.push(N),Y.sort((F,K)=>{const ne=F.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:Y,storage:F}=T.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ye=FN(N,ne,F);ye&&(A.current=new Map(Object.entries(ye.expandToSizes)),re=ye.layout)}re==null&&(re=$N({panelDataArray:ne}));const se=Mx({layout:re,panelConstraints:ne.map(ye=>ye.constraints)});zx(K,se)||(_(se),q.current.layout=se,Y&&Y(se),Dl(ne,se,E.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=V.useCallback(N=>{let Y=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(Y=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ye,id:ve,keyboardResizeBy:xe,onLayout:pe}=T.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ye??{},st=Vb(ve,N,re);let We=GN(ne,N,se,ye,xe,re);const zt=se==="horizontal";zt&&Y&&(We=-We);const Ut=Me.map(Mn=>Mn.constraints),Rt=ho({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:jb(ne)?"keyboard":"mouse-or-touch"}),wn=!Su(_e,Rt);(Ob(ne)||Rb(ne))&&B.current!=We&&(B.current=We,!wn&&We!==0?zt?Xd(N,We<0?Lb:Hb):Xd(N,We<0?Bb:qb):Xd(N,0)),wn&&(_(Rt),q.current.layout=Rt,pe&&pe(Rt),Dl(Me,Rt,E.current))}},[]),R=V.useCallback((N,Y)=>{const{onLayout:F}=T.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ye}=Ri(ne,N,K);Re(se!=null,`Panel size not found for panel "${N.id}"`);const xe=ql(ne,N)===ne.length-1?se-Y:Y-se,pe=ho({delta:xe,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});Su(K,pe)||(_(pe),q.current.layout=pe,F&&F(pe),Dl(ne,pe,E.current))},[]),$=V.useCallback((N,Y)=>{const{layout:F,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=Y,{collapsedSize:se=0,collapsible:ye,maxSize:ve=100,minSize:xe=0}=N.constraints,{panelSize:pe}=Ri(K,N,F);pe!=null&&(re&&ye&&kr(pe,ne)?kr(ne,se)||R(N,se):peve&&R(N,ve))},[R]),Z=V.useCallback((N,Y)=>{const{direction:F}=T.current,{layout:K}=q.current;if(!v.current)return;const ne=uc(N,v.current);Re(ne,`Drag handle element not found for id "${N}"`);const re=Gb(F,Y);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=V.useCallback(()=>{k(null)},[]),j=V.useCallback(N=>{const{panelDataArray:Y}=q.current,F=ql(Y,N);F>=0&&(Y.splice(F,1),delete E.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=V.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:D,getPanelSize:X,getPanelStyle:H,groupId:y,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:R,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,D,X,H,y,I,ee,$,L,G,R,Z,J,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return V.createElement(ac.Provider,{value:U},V.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:y}))}const gp=V.forwardRef((e,n)=>V.createElement(Fb,{...e,forwardedRef:n}));Fb.displayName="PanelGroup";gp.displayName="forwardRef(PanelGroup)";function ql(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Ri(e,n,i){const l=ql(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function KN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){V.useEffect(()=>{if(e||i==null||l==null)return;const o=uc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);Re(f,`No group element found for id "${f}"`);const d=No(f,l),h=Ib(f,n,l);Re(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function yp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var k,S;const _=V.useRef(null),z=V.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});V.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const E=V.useContext(ac);if(E===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:A,groupId:B,registerResizeHandle:T,startDragging:q,stopDragging:M,panelGroupElement:D}=E,X=Gp(o),[H,I]=V.useState("inactive"),[ee,L]=V.useState(!1),[G,R]=V.useState(null),$=V.useRef({state:H});qi(()=>{$.current.state=H}),V.useEffect(()=>{if(i)R(null);else{const U=T(X);R(()=>U)}},[i,X,T]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;V.useEffect(()=>{if(i||G==null)return;const U=_.current;Re(U,"Element ref not attached");let P=!1;return LN(X,U,A,{coarse:Z,fine:J},(Y,F,K)=>{if(!F){I("inactive");return}switch(Y){case"down":{I("drag"),P=!1,Re(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&I("hover"),Re(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,A,i,J,T,X,G,q,M]),KN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:D});const j={touchAction:"none",userSelect:"none"};return V.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:_,role:"separator",style:{...j,...p},tabIndex:y,[gt.groupDirection]:A,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}yp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function cc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Hu.prototype=cc.prototype={constructor:Hu,on:function(e,n){var i=this._,l=WN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Rx.hasOwnProperty(n)?{space:Rx[n],local:e}:e}function tk(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===xp&&n.documentElement.namespaceURI===xp?n.createElement(e):n.createElementNS(i,e)}}function nk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Qb(e){var n=fc(e);return(n.local?nk:tk)(n)}function rk(){}function Pp(e){return e==null?rk:function(){return this.querySelector(e)}}function ik(e){typeof e!="function"&&(e=Pp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=E&&(E=z+1);!(B=S[E])&&++E=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function zk(e){e||(e=Ak);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function Mk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function jk(){return Array.from(this)}function Ok(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Gk:typeof n=="function"?Xk:$k)(e,n,i??"")):Kl(this.node(),e)}function Kl(e,n){return e.style.getPropertyValue(n)||ew(e).getComputedStyle(e,null).getPropertyValue(n)}function Fk(e){return function(){delete this[e]}}function Qk(e,n){return function(){this[e]=n}}function Zk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Kk(e,n){return arguments.length>1?this.each((n==null?Fk:typeof n=="function"?Zk:Qk)(e,n)):this.node()[e]}function tw(e){return e.trim().split(/^|\s+/)}function Fp(e){return e.classList||new nw(e)}function nw(e){this._node=e,this._names=tw(e.getAttribute("class")||"")}nw.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function rw(e,n){for(var i=Fp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function NC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function vp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}vp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function DC(e){return!e.ctrlKey&&!e.button}function LC(){return this.parentNode}function HC(e,n){return n??{x:e.x,y:e.y}}function BC(){return navigator.maxTouchPoints||"ontouchstart"in this}function uw(){var e=DC,n=LC,i=HC,l=BC,o={},s=cc("start","drag","end"),u=0,f,d,h,m,p=0;function y(A){A.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",_,RC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(A,B){if(!(m||!e.call(this,A,B))){var T=E(this,n.call(this,A,B),A,B,"mouse");T&&(xn(A.view).on("mousemove.drag",w,ko).on("mouseup.drag",k,ko),ow(A.view),Fd(A),h=!1,f=A.clientX,d=A.clientY,T("start",A))}}function w(A){if(Xl(A),!h){var B=A.clientX-f,T=A.clientY-d;h=B*B+T*T>p}o.mouse("drag",A)}function k(A){xn(A.view).on("mousemove.drag mouseup.drag",null),sw(A.view,h),Xl(A),o.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var T=A.changedTouches,q=n.call(this,A,B),M=T.length,D,X;for(D=0;D>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Eu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Eu(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=UC.exec(e))?new nn(n[1],n[2],n[3],1):(n=IC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=VC.exec(e))?Eu(n[1],n[2],n[3],n[4]):(n=YC.exec(e))?Eu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=GC.exec(e))?Ix(n[1],n[2]/100,n[3]/100,1):(n=$C.exec(e))?Ix(n[1],n[2]/100,n[3]/100,n[4]):Dx.hasOwnProperty(e)?Bx(Dx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Bx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function Eu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function FC(e){return e instanceof Uo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function bp(e,n,i,l){return arguments.length===1?FC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}Qp(nn,bp,cw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Fu(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:qx,formatHex:qx,formatHex8:QC,formatRgb:Ux,toString:Ux}));function qx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function QC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ux(){const e=Fu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Fu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Ix(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Bn(e,n,i,l)}function fw(e){if(e instanceof Bn)return new Bn(e.h,e.s,e.l,e.opacity);if(e instanceof Uo||(e=Yi(e)),!e)return new Bn;if(e instanceof Bn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Bn(u,f,d,e.opacity)}function ZC(e,n,i,l){return arguments.length===1?fw(e):new Bn(e,n,i,l??1)}function Bn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}Qp(Bn,ZC,cw(Uo,{brighter(e){return e=e==null?Pu:Math.pow(Pu,e),new Bn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Co:Math.pow(Co,e),new Bn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Qd(e>=240?e-240:e+120,o,l),Qd(e,o,l),Qd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Bn(Vx(this.h),Nu(this.s),Nu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fu(this.opacity);return`${e===1?"hsl(":"hsla("}${Vx(this.h)}, ${Nu(this.s)*100}%, ${Nu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Vx(e){return e=(e||0)%360,e<0?e+360:e}function Nu(e){return Math.max(0,Math.min(1,e||0))}function Qd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Zp=e=>()=>e;function KC(e,n){return function(i){return e+i*n}}function JC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function WC(e){return(e=+e)==1?dw:function(n,i){return i-n?JC(n,i,e):Zp(isNaN(n)?i:n)}}function dw(e,n){var i=n-e;return i?KC(e,i):Zp(isNaN(e)?n:e)}const Qu=(function e(n){var i=WC(n);function l(o,s){var u=i((o=bp(o)).r,(s=bp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=dw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function e3(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Zd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,k=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Jl}function $x(){Gi=(Ku=zo.now())+dc,Jl=mo=0;try{m3()}finally{Jl=0,y3(),Gi=0}}function g3(){var e=zo.now(),n=e-Ku;n>gw&&(dc-=n,Ku=e)}function y3(){for(var e,n=Zu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Zu=i);go=e,_p(l)}function _p(e){if(!Jl){mo&&(mo=clearTimeout(mo));var n=e-Gi;n>24?(e<1/0&&(mo=setTimeout($x,e-zo.now()-dc)),lo&&(lo=clearInterval(lo))):(lo||(Ku=zo.now(),lo=setInterval(g3,gw)),Jl=1,yw($x))}}function Xx(e,n,i){var l=new Ju;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var x3=cc("start","end","cancel","interrupt"),v3=[],vw=0,Px=1,Ep=2,qu=3,Fx=4,Np=5,Uu=6;function hc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;b3(e,i,{name:n,index:l,group:o,on:x3,tween:v3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:vw})}function Jp(e,n){var i=Yn(e,n);if(i.state>vw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>qu)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function b3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=xw(s,0,i.time);function s(h){i.state=Px,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==Px)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===qu)return Xx(u);v.state===Fx?(v.state=Uu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mEp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function Z3(e,n,i){var l,o,s=Q3(n)?Jp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function K3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(Z3(i,e,n))}function J3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function W3(){return this.on("end.remove",J3(this._id))}function eT(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Pp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function NT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pc=new Cr(1,0,0);_w.prototype=Cr.prototype;function _w(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pc;return e.__zoom}function Kd(e){e.stopImmediatePropagation()}function ao(e){e.preventDefault(),e.stopImmediatePropagation()}function kT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function CT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Qx(){return this.__zoom||pc}function TT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zT(){return navigator.maxTouchPoints||"ontouchstart"in this}function AT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function Ew(){var e=kT,n=CT,i=AT,l=TT,o=zT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Bu,h=cc("start","zoom","end"),m,p,y,v=500,w=150,k=0,S=10;function _(L){L.property("__zoom",Qx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",D).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(L,G,R,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Qx),L!==Z?B(L,G,R,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},_.scaleBy=function(L,G,R,$){_.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},R,$)},_.scaleTo=function(L,G,R,$){_.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=R==null?A(Z):typeof R=="function"?R.apply(this,arguments):R,U=J.invert(j),P=typeof G=="function"?G.apply(this,arguments):G;return i(E(z(J,P),j,U),Z,u)},R,$)},_.translateBy=function(L,G,R,$){_.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof R=="function"?R.apply(this,arguments):R),n.apply(this,arguments),u)},null,$)},_.translateTo=function(L,G,R,$,Z){_.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?A(J):typeof $=="function"?$.apply(this,arguments):$;return i(pc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof R=="function"?-R.apply(this,arguments):-R),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function E(L,G,R){var $=G[0]-R[0]*L.k,Z=G[1]-R[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function A(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,R,$){L.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=T(Z,J).event($),U=n.apply(Z,J),P=R==null?A(U):typeof R=="function"?R.apply(Z,J):R,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Y=Z.__zoom,F=typeof G=="function"?G.apply(Z,J):G,K=d(Y.invert(P).concat(N/Y.k),F.invert(P).concat(N/F.k));return function(ne){if(ne===1)ne=F;else{var re=K(ne),se=N/re[2];ne=new Cr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function T(L,G,R){return!R&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=xn(this.that).datum();h.call(L,this.that,new NT(L,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var R=T(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Hn(L);if(R.wheel)(R.mouse[0][0]!==J[0]||R.mouse[0][1]!==J[1])&&(R.mouse[1]=$.invert(R.mouse[0]=J)),clearTimeout(R.wheel);else{if($.k===Z)return;R.mouse=[J,$.invert(J)],Iu(this),R.start()}ao(L),R.wheel=setTimeout(j,w),R.zoom("mouse",i(E(z($,Z),R.mouse[0],R.mouse[1]),R.extent,u));function j(){R.wheel=null,R.end()}}function D(L,...G){if(y||!e.apply(this,arguments))return;var R=L.currentTarget,$=T(this,G,!0).event(L),Z=xn(L.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",N,!0),J=Hn(L,R),j=L.clientX,U=L.clientY;ow(L.view),Kd(L),$.mouse=[J,this.__zoom.invert(J)],Iu(this),$.start();function P(Y){if(ao(Y),!$.moved){var F=Y.clientX-j,K=Y.clientY-U;$.moved=F*F+K*K>k}$.event(Y).zoom("mouse",i(E($.that.__zoom,$.mouse[0]=Hn(Y,R),$.mouse[1]),$.extent,u))}function N(Y){Z.on("mousemove.zoom mouseup.zoom",null),sw(Y.view,$.moved),ao(Y),$.event(Y).end()}}function X(L,...G){if(e.apply(this,arguments)){var R=this.__zoom,$=Hn(L.changedTouches?L.changedTouches[0]:L,this),Z=R.invert($),J=R.k*(L.shiftKey?.5:2),j=i(E(z(R,J),$,Z),n.apply(this,G),u);ao(L),f>0?xn(this).transition().duration(f).call(B,j,$,L):xn(this).call(_.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var R=L.touches,$=R.length,Z=T(this,G,L.changedTouches.length===$).event(L),J,j,U,P;for(Kd(L),j=0;j<$;++j)U=R[j],P=Hn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Iu(this),Z.start())}}function I(L,...G){if(this.__zooming){var R=T(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,P;for(ao(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ao=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Nw=["Enter"," ","Escape"],kw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, 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 Wl;(function(e){e.Strict="strict",e.Loose="loose"})(Wl||(Wl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Mo;(function(e){e.Partial="partial",e.Full="full"})(Mo||(Mo={}));const Cw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Wu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wu||(Wu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Zx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function Tw(e){return e===null?null:e?"valid":"invalid"}const zw=e=>"id"in e&&"source"in e&&"target"in e,MT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),em=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Io=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},jT=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):em(o)?o:n.nodeLookup.get(o.id));const f=u?ec(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gc(i)},Vo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=mc(i,ec(o)),l=!0)}),l?gc(i):{x:0,y:0,width:0,height:0}},tm=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Go(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=jo(f,ta(h)),S=(v??0)*(w??0),_=s&&k>0;(!h.internals.handleBounds||_||k>=S||h.dragging)&&d.push(h)}return d},OT=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function RT(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function DT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=RT(e,u),d=Vo(f),h=nm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Aw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&na(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=na(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function LT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(k=>k.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=OT(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const ea=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:ea(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:ea(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Mw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Kx=(e,n,i)=>ei?-ea(Math.abs(e-i),1,n)/n:0,jw=(e,n,i=15,l=40)=>{const o=Kx(e.x,l,n.width-l)*i,s=Kx(e.y,l,n.height-l)*i;return[o,s]},mc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),kp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),gc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ta=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},ec=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=em(e)?e.internals.positionAbsolute:Io(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Ow=(e,n)=>gc(mc(kp(e),kp(n))),jo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Jx=e=>qn(e.width)&&qn(e.height)&&qn(e.x)&&qn(e.y),qn=e=>!isNaN(e)&&isFinite(e),HT=(e,n)=>{},Yo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Go=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Yo(f,u):f},tc=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Ll(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function BT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Ll(e,i),o=Ll(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Ll(e.top??e.y??0,i),o=Ll(e.bottom??e.y??0,i),s=Ll(e.left??e.x??0,n),u=Ll(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function qT(e,n,i,l,o,s){const{x:u,y:f}=tc(e,[n,i,l]),{x:d,y:h}=tc({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const nm=(e,n,i,l,o,s)=>{const u=BT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=ea(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,k=qT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},Oo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function na(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Rw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Dw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Wx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function UT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function IT(e){return{...kw,...e||{}}}function vo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=Un(e),f=Go({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Yo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const rm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Lw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},VT=["INPUT","SELECT","TEXTAREA"];function Hw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:VT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Bw=e=>"clientX"in e,Un=(e,n)=>{var s,u;const i=Bw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},ev=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...rm(u)}})};function qw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Tu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function tv({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Tu(n-l,s),i];case we.Right:return[n+Tu(l-n,s),i];case we.Top:return[n,i-Tu(i-o,s)];case we.Bottom:return[n,i+Tu(o-i,s)]}}function im({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=tv({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=tv({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=qw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function Uw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const $T=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,XT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),PT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||$T;let o;return zw(e)?o={...e}:o={...e,id:l(e)},XT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function Iw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Uw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const nv={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},FT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function QT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=nv[n],d=nv[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=FT({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],k,S;const _={x:0,y:0},z={x:0,y:0},[,,E,A]=Uw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?T:q:w=y==="x"?q:T}else{const T=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?q:T:w=f.y===v?T:q,n===l){const I=Math.abs(e[y]-i[y]);if(I<=s){const ee=Math.min(s-1,s-I);f[y]===v?_[y]=(h[y]>e[y]?-1:1)*ee:z[y]=(m[y]>i[y]?-1:1)*ee}}if(n!==l){const I=y==="x"?"y":"x",ee=f[y]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+D.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+D.y)/2)}return[[e,{x:h.x+_.x,y:h.y+_.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,E,A]}function ZT(e,n,i,l){const o=Math.min(rv(e,n)/2,rv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let A="";return E>0&&Ei.id===n):e[0])||null}function Tp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function JT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Tp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Vw=1e3,WT=10,lm={nodeOrigin:[0,0],nodeExtent:Ao,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ez={...lm,checkEquality:!0};function am(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function tz(e,n,i){const l=am(lm,i);for(const o of e.values())if(o.parentId)sm(o,e,n,l);else{const s=Io(o,l.nodeOrigin),u=na(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function nz(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function om(e){return e==="manual"}function zp(e,n,i,l={}){var h,m;const o=am(ez,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!om(o.zIndexMode)?Vw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Io(p,o.nodeOrigin),w=na(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:nz(p,y),z:Yw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&sm(y,n,i,l,s)}return d}function rz(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function sm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=am(lm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}rz(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*WT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!om(d)?Vw:0,{x:y,y:v,z:w}=iz(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=y!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:k,z:w}})}function Yw(e,n,i){const l=qn(e.zIndex)?e.zIndex:0;return om(i)?l:l+(e.selected?n:0)}function iz(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Io(e,i),m=na(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Mw(p,d,n));const y=Yw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function um(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ta(d),m=Ow(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var E;const m=d.internals.positionAbsolute,p=Ar(d),y=d.origin??l,v=f.x0||w>0||_||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+_,y:d.position.y-w+z}}),(E=i.get(h))==null||E.forEach(A=>{e.some(B=>B.id===A.id)||o.push({id:A.id,type:"position",position:{x:A.position.x+v,y:A.position.y+w}})})),(p.width0){const v=um(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function az({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function ov(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Gw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;ov("source",d,m,e,o,u),ov("target",d,h,e,s,f),n.set(l.id,l)}}function $w(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:$w(i,n):!1}function sv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function oz(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!$w(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Jd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function sz({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Yo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function uz({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:E,domNode:A,isSelectable:B,nodeId:T,nodeClickDistance:q=0}){y=xn(A);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:R,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:I,y:ee};let N=!1;const Y=f.size>1,F=Y&&G?kp(Vo(f)):null,K=Y&&$?sz({dragItems:f,snapGrid:R,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Yo(se,R));let ye=null;if(Y&&G&&!re.extent&&F){const{positionAbsolute:pe}=re.internals,_e=pe.x-F.x+G[0][0],Me=pe.x+re.measured.width-F.x2+G[1][0],Ce=pe.y-F.y+G[0][1],st=pe.y+re.measured.height-F.y2+G[1][1];ye=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:xe}=Aw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ye||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=xe}if(w=w||N,!!N&&(P(f,!0),k&&(l||J||!T&&j))){const[ne,re]=Jd({nodeId:T,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),T||j==null||j(k,re)}}async function D(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[R,$]=jw(h,m,L);(R!==0||$!==0)&&(s.x=(s.x??0)-R/I[2],s.y=(s.y??0)-$/I[2],await ee({x:R,y:$})&&M(s)),u=requestAnimationFrame(D)}function X(I){var Y;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:R,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!J||!B)&&!L&&T&&((Y=ee.get(T))!=null&&Y.selected||P()),B&&J&&T&&(e==null||e(T));const N=vo(I.sourceEvent,{transform:R,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=oz(ee,G,N,T),f.size>0&&(i||j||!T&&U)){const[F,K]=Jd({nodeId:T,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,F,K),j==null||j(I.sourceEvent,F,K),T||U==null||U(I.sourceEvent,K)}}const H=uw().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:R,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=vo(I.sourceEvent,{transform:G,snapGrid:R,snapToGrid:$,containerBounds:m}),h=Un(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:R,nodeDragThreshold:$,nodeLookup:Z}=n(),J=vo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:R,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,D()),!p){const j=Un(I.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=Un(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:R}=n();if(w&&(L(f,!1),w=!1),o||G||!T&&R){const[$,Z]=Jd({nodeId:T,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),T||R==null||R(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!sv(ee,`.${z}`,A))&&(!E||sv(ee,E,A))});y.call(H)}function _(){y==null||y.on(".drag",null)}return{update:S,destroy:_}}function cz(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())jo(o,ta(s))>0&&l.push(s);return l}const fz=250;function dz(e,n,i,l){var f,d;let o=[],s=1/0;const u=cz(e,i,n+fz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Xw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function Pw(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function hz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Fw=()=>!0;function pz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:_=Fw,onReconnectEnd:z,updateConnection:E,getTransform:A,getFromHandle:B,autoPanSpeed:T,dragThreshold:q=1,handleDomNode:M}){const D=Lw(e.target);let X=0,H;const{x:I,y:ee}=Un(e),L=Pw(s,M),G=f==null?void 0:f.getBoundingClientRect();let R=!1;if(!G||!L)return;const $=Xw(o,L,l,d,n);if(!$)return;let Z=Un(e,G),J=!1,j=null,U=!1,P=null;function N(){if(!m||!G)return;const[ve,xe]=jw(Z,G,T);y({x:ve,y:xe}),X=requestAnimationFrame(N)}const Y={...$,nodeId:o,type:L,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(F,Y,we.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:F,to:Z,toHandle:null,toPosition:Zx[Y.position],toNode:null,pointer:Z};function re(){R=!0,E(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!R){const{x:st,y:We}=Un(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!Y){ye(ve);return}const xe=A();Z=Un(ve,G),H=dz(Go(Z,xe,!1,[1,1]),i,d,Y),J||(N(),J=!0);const pe=Qw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:_,doc:D,lib:h,flowId:p,nodeLookup:d});P=pe.handleDomNode,j=pe.connection,U=hz(!!H,pe.isValid);const _e=d.get(o),Me=_e?Xi(_e,Y,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:pe.toHandle&&U?tc({x:pe.toHandle.x,y:pe.toHandle.y},xe):Z,toHandle:pe.toHandle,toPosition:U&&pe.toHandle?pe.toHandle.position:Zx[Y.position],toNode:pe.toHandle?d.get(pe.toHandle.nodeId):null,pointer:Z};E(Ce),ne=Ce}function ye(ve){if(!("touches"in ve&&ve.touches.length>0)){if(R){(H||P)&&j&&U&&(k==null||k(j));const{inProgress:xe,...pe}=ne,_e={...pe,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,P=null,D.removeEventListener("mousemove",se),D.removeEventListener("mouseup",ye),D.removeEventListener("touchmove",se),D.removeEventListener("touchend",ye)}}D.addEventListener("mousemove",se),D.addEventListener("mouseup",ye),D.addEventListener("touchmove",se),D.addEventListener("touchend",ye)}function Qw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Fw,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=Un(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:y,_={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=Pw(void 0,S),E=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!E||!z)return _;const q={source:p?E:l,sourceHandle:p?A:o,target:p?l:E,targetHandle:p?o:A};_.connection=q;const D=B&&T&&(i===Wl.Strict?p&&z==="source"||!p&&z==="target":E!==l||A!==o);_.isValid=D&&h(q),_.toHandle=Xw(E,z,A,m,i,!0)}return _}const Ap={onPointerDown:pz,isValid:Qw};function mz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=xn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=E=>{if(E.sourceEvent.type!=="wheel"||!n)return;const A=i(),B=E.sourceEvent.ctrlKey&&Oo()?10:1,T=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*m,q=A[2]*Math.pow(2,T*B);n.scaleTo(q)};let k=[0,0];const S=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(k=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},_=E=>{const A=i();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!n)return;const B=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],T=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(A[2],Math.log(A[2]))*(v?-1:1),M={x:A[0]-T[0]*q,y:A[1]-T[1]*q},D=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:A[2]},D,f)},z=Ew().on("start",S).on("zoom",p?_:null).on("zoom.wheel",y?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Hn}}const yc=e=>({x:e.x,y:e.y,zoom:e.k}),Wd=({x:e,y:n,zoom:i})=>pc.translate(e,n).scale(i),Vl=(e,n)=>e.target.closest(`.${n}`),Zw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),gz=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,eh=(e,n=0,i=gz,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Kw=e=>{const n=e.ctrlKey&&Oo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function yz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Vl(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Hn(m),_=Kw(m),z=p*Math.pow(2,_);l.scaleTo(i,z,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*y,w=o===Ii.Horizontal?0:m.deltaY*y;!Oo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=yc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function xz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Vl(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function vz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=yc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function bz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Zw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,yc(s.transform)))}}function wz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Zw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=yc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function Sz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Vl(p,`${h}-flow__node`)||Vl(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Vl(p,f)&&w||Vl(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function _z({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=Ew().scaleExtent([n,i]).translateExtent(l),y=xn(e).call(p);z({x:o.x,y:o.y,zoom:ea(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(Kw);function k(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).transform(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:R,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:N,lib:Y,onTransformChange:F,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&_();const se=G&&!N&&!L;p.clickDistance(re?1/0:!qn(ne)||ne<0?0:ne);const ye=se?yz({zoomPanValues:h,noWheelClassName:H,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):xz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(y.on("wheel.zoom",ye,{passive:!1}),!L){const xe=vz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",xe);const pe=bz({zoomPanValues:h,panOnDrag:R,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:F});p.on("zoom",pe);const _e=wz({zoomPanValues:h,panOnDrag:R,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=Sz({zoomActivationKeyPressed:N,panOnDrag:R,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:Y,connectionInProgress:K});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function _(){p.on("zoom",null)}async function z(H,I,ee){const L=Wd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(R=>R(G))}async function E(H,I){const ee=Wd(H);return await k(ee,I),new Promise(L=>L(ee))}function A(H){if(y){const I=Wd(H),ee=y.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(y,I,null,{sync:!0}))}}function B(){const H=y?_w(y.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function T(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleTo(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return y?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?xo:Bu).scaleBy(eh(y,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function D(H){p==null||p.translateExtent(H)}function X(H){const I=!qn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:_,setViewport:E,setViewportConstrained:z,getViewport:B,scaleTo:T,scaleBy:q,setScaleExtent:M,setTranslateExtent:D,syncViewport:A,setClickDistance:X}}var ra;(function(e){e.Line="line",e.Handle="handle"})(ra||(ra={}));function Ez({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function uv(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function zu(e,n,i){return Math.max(0,n-e,e-i)}function cv(e,n){return e?!n:n}function Nz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:_,maxHeight:z}=l,{x:E,y:A,width:B,height:T,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),D=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=T+(h?-D:D),I=-s[0]*B,ee=-s[1]*T;let L=zu(X,k,S),G=zu(H,_,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(E+M+I,u[0][0]):!d&&M>0&&(Z=si(E+X+I,u[1][0])),h&&D<0?J=oi(A+D+ee,u[0][1]):!h&&D>0&&(J=si(A+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(E+M,f[0][0]):!d&&M<0&&(Z=oi(E+X,f[1][0])),h&&D>0?J=si(A+D,f[0][1]):!h&&D<0&&(J=oi(A+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=zu(X/q,_,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&y?J=si(A+ee+X/q,u[1][1])*q:J=oi(A+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&y?J=oi(A+X/q,f[1][1])*q:J=si(A+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=zu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&y?J=si(E+H*q+I,u[1][0])/q:J=oi(E+(h?D:-D)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&y?J=oi(E+H*q,f[1][0])/q:J=si(E+(h?D:-D)*q,f[0][0])/q,G=Math.max(G,J)}}}D=D+(D<0?G:-G),M=M+(M<0?L:-L),o&&(y?X>H*q?D=(cv(d,h)?-M:M)/q:M=(cv(d,h)?-D:D)*q:m?(D=M/q,h=d):(M=D*q,d=h));const R=d?E+M:E,$=h?A+D:A;return{width:B+(d?-M:M),height:T+(h?-D:D),x:s[0]*M*(d?-1:1)+R,y:s[1]*D*(h?-1:1)+$}}const Jw={width:0,height:0,x:0,y:0},kz={...Jw,pointerX:0,pointerY:0,aspectRatio:1};function Cz(e){return[[0,0],[e.measured.width,e.measured.height]]}function Tz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function zz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=xn(e);let u={controlDirection:uv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let _={...Jw},z={...kz};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:uv(h)};let E,A=null,B=[],T,q,M,D=!1;const X=uw().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:R,paneDomNode:$}=i();if(E=I.get(n),!E)return;A=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=vo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:A});_={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},z={..._,pointerX:Z,pointerY:J,aspectRatio:_.width/_.height},T=void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(T=I.get(E.parentId),q=T&&E.extent==="parent"?Cz(T):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=Tz(U,E,U.origin??R);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(H,{..._})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),R=vo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:A}),$=[];if(!E)return;const{x:Z,y:J,width:j,height:U}=_,P={},N=E.origin??G,{width:Y,height:F,x:K,y:ne}=Nz(z,u.controlDirection,R,u.boundaries,u.keepAspectRatio,N,q,M),re=Y!==j,se=F!==U,ye=K!==Z&&re,ve=ne!==J&&se;if(!ye&&!ve&&!re&&!se)return;if((ye||ve||N[0]===1||N[1]===1)&&(P.x=ye?K:_.x,P.y=ve?ne:_.y,_.x=P.x,_.y=P.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(Y-j),y:st.position.y-Ce+N[1]*(F-U)},$.push(st)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?Y:_.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:_.height,_.width=P.width,_.height=P.height),T&&E.expandParent){const Me=N[0]*(P.width??0);P.x&&P.x{D&&(k==null||k(H,{..._}),o==null||o({..._}),D=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var th={exports:{}},nh={},rh={exports:{}},ih={};/** * @license React * use-sync-external-store-shim.production.js * @@ -273,7 +273,7 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var fv;function Tz(){if(fv)return ih;fv=1;var e=Ho();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var dv;function zz(){return dv||(dv=1,rh.exports=Tz()),rh.exports}/** + */var fv;function Az(){if(fv)return ih;fv=1;var e=Ho();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=y,d(k)&&S({inst:k})},[p,v,y]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return ih.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,ih}var dv;function Mz(){return dv||(dv=1,rh.exports=Az()),rh.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -281,26 +281,26 @@ Error generating stack: `+c.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var hv;function Az(){if(hv)return nh;hv=1;var e=Ho(),n=zz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(A){if(!z){if(z=!0,_=A,A=y(A),v!==void 0&&k.hasValue){var q=k.value;if(v(q,A))return T=q}return T=A}if(q=T,l(_,A))return q;var M=y(A);return v!==void 0&&v(q,M)?(_=A,q):(_=A,T=M)}var z=!1,_,T,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var pv;function Mz(){return pv||(pv=1,th.exports=Az()),th.exports}var jz=Mz();const Oz=Lo(jz),Dz={},mv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Dz?"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()}},h=n=e(l,o,d);return d},Rz=e=>e?mv(e):mv,{useDebugValue:Lz}=Ul,{useSyncExternalStoreWithSelector:Hz}=Oz,Bz=e=>e;function Jw(e,n=Bz,i){const l=Hz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Lz(l),l}const gv=(e,n)=>{const i=Rz(e),l=(o,s=n)=>Jw(i,o,s);return Object.assign(l,i),l},qz=(e,n)=>e?gv(e,n):gv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Uz=_b();const xc=V.createContext(null),Iz=xc.Provider,Ww=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(Ww);return Jw(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(Ww);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const yv={display:"none"},Vz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},eS="react-flow__node-desc",tS="react-flow__edge-desc",Yz="react-flow__aria-live",Gz=e=>e.ariaLiveMessage,$z=e=>e.ariaLabelConfig;function Xz({rfId:e}){const n=Ie(Gz);return b.jsx("div",{id:`${Yz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Vz,children:n})}function Pz({rfId:e,disableKeyboardA11y:n}){const i=Ie($z);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${eS}-${e}`,style:yv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${tS}-${e}`,style:yv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Xz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Fz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Qz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Au=e=>e.id;function Zz(e,n){return dt(e.selectedNodes.map(Au),n.selectedNodes.map(Au))&&dt(e.selectedEdges.map(Au),n.selectedEdges.map(Au))}function Kz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Qz,Zz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Jz=e=>!!e.onSelectionChangeHandlers;function Wz({onSelectionChange:e}){const n=Ie(Jz);return e||n?b.jsx(Kz,{onSelectionChange:e}):null}const nS=[0,0],eA={x:0,y:0,zoom:1},tA=["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"],xv=[...tA,"rfId"],nA=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),vv={translateExtent:Ao,nodeOrigin:nS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function rA(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(nA,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=vv,f()}),[]);const m=V.useRef(vv);return V.useEffect(()=>{for(const p of xv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:qT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},xv.map(p=>e[p])),null}function bv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function iA(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=bv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=bv())!=null&&l.matches?"dark":"light"}const wv=typeof document<"u"?document:null;function Do(e=null,n={target:wv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` + */var hv;function jz(){if(hv)return nh;hv=1;var e=Ho(),n=Mz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return nh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function _(T){if(!z){if(z=!0,E=T,T=y(T),v!==void 0&&k.hasValue){var q=k.value;if(v(q,T))return A=q}return A=T}if(q=A,l(E,T))return q;var M=y(T);return v!==void 0&&v(q,M)?(E=T,q):(E=T,A=M)}var z=!1,E,A,B=p===void 0?null:p;return[function(){return _(m())},B===null?void 0:function(){return _(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},nh}var pv;function Oz(){return pv||(pv=1,th.exports=jz()),th.exports}var Rz=Oz();const Dz=Lo(Rz),Lz={},mv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(Lz?"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()}},h=n=e(l,o,d);return d},Hz=e=>e?mv(e):mv,{useDebugValue:Bz}=Ul,{useSyncExternalStoreWithSelector:qz}=Dz,Uz=e=>e;function Ww(e,n=Uz,i){const l=qz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Bz(l),l}const gv=(e,n)=>{const i=Hz(e),l=(o,s=n)=>Ww(i,o,s);return Object.assign(l,i),l},Iz=(e,n)=>e?gv(e,n):gv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var Vz=Eb();const xc=V.createContext(null),Yz=xc.Provider,eS=tr.error001();function Ie(e,n){const i=V.useContext(xc);if(i===null)throw new Error(eS);return Ww(i,e,n)}function ht(){const e=V.useContext(xc);if(e===null)throw new Error(eS);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const yv={display:"none"},Gz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},tS="react-flow__node-desc",nS="react-flow__edge-desc",$z="react-flow__aria-live",Xz=e=>e.ariaLiveMessage,Pz=e=>e.ariaLabelConfig;function Fz({rfId:e}){const n=Ie(Xz);return b.jsx("div",{id:`${$z}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Gz,children:n})}function Qz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Pz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${tS}-${e}`,style:yv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${nS}-${e}`,style:yv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Fz,{rfId:e})]})}const vc=V.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});vc.displayName="Panel";function Zz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(vc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Kz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Au=e=>e.id;function Jz(e,n){return dt(e.selectedNodes.map(Au),n.selectedNodes.map(Au))&&dt(e.selectedEdges.map(Au),n.selectedEdges.map(Au))}function Wz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Kz,Jz);return V.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const eA=e=>!!e.onSelectionChangeHandlers;function tA({onSelectionChange:e}){const n=Ie(eA);return e||n?b.jsx(Wz,{onSelectionChange:e}):null}const rS=[0,0],nA={x:0,y:0,zoom:1},rA=["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"],xv=[...rA,"rfId"],iA=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),vv={translateExtent:Ao,nodeOrigin:rS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function lA(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(iA,dt),h=ht();V.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=vv,f()}),[]);const m=V.useRef(vv);return V.useEffect(()=>{for(const p of xv){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:IT(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},xv.map(p=>e[p])),null}function bv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function aA(e){var l;const[n,i]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){i(e);return}const o=bv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=bv())!=null&&l.matches?"dark":"light"}const wv=typeof document<"u"?document:null;function Ro(e=null,n={target:wv,actInsideInputWithModifier:!0}){const[i,l]=V.useState(!1),o=V.useRef(!1),s=V.useRef(new Set([])),[u,f]=V.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` `).replace(` `,` +`).split(` -`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??wv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Lw(v))return!1;const k=_v(v.code,f);if(s.current.add(v[k]),Sv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=_v(v.code,f);Sv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function Sv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function _v(e,n){return n.includes(e)?"code":"key"}const lA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Go(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=tc(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function rS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)aA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function aA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function iS(e,n){return rS(e,n)}function lS(e,n){return rS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Yl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function Ev({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Nv(e){return{id:e.id,type:"remove"}}const kv=e=>zT(e),oA=e=>Tw(e);function aS(e){return V.forwardRef(e)}const sA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Cv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>uA(()=>i(o=>o+BigInt(1))));return sA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function uA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const oS=V.createContext(null);function cA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=Ev({items:k,lookup:y});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Cv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Ev({items:v,lookup:y}))},[]),s=Cv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(oS.Provider,{value:u,children:e})}function fA(){const e=V.useContext(oS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const dA=e=>!!e.panZoom;function $o(){const e=lA(),n=ht(),i=fA(),l=Ie(dA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=kv(p)?p:y.get(p.id),k=w.parentId?Dw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ta(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&kv(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&oA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:T}=n.getState(),{nodes:B,edges:A}=await DT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:T}),q=A.length>0,M=B.length>0;if(q){const R=A.map(Nv);S==null||S(A),z(R)}if(M){const R=B.map(Nv);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:A})),{deletedNodes:B,deletedEdges:A}},getIntersectingNodes:(p,y=!0,v)=>{const w=Jx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ta(S?E:z),T=jo(_,k);return y&&T>0||T>=_.width*_.height||T>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Jx(p)?p:d(p);if(!k)return!1;const S=jo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return AT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??BT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Tv=e=>e.selected,hA=typeof window<"u"?window:void 0;function pA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=$o(),o=Do(e,{actInsideInputWithModifier:!1}),s=Do(n,{target:hA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Tv),edges:u.filter(Tv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function mA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},gA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function yA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:T}){const B=ht(),A=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(gA,dt),X=Do(y),H=V.useRef();mA(A);const I=V.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return V.useEffect(()=>{if(A.current){H.current=wz({domNode:A.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:A.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:T,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,T,_]),b.jsx("div",{className:"react-flow__renderer",ref:A,style:bc,children:w})}const xA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function vA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(xA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},bA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function wA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Mo.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(bA,dt),T=E&&(e||S),B=V.useRef(null),A=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),R=V.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(A.current=J==null?void 0:J.getBoundingClientRect(),!A.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),R.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,A.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!A.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,A.current),{startX:ye,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Wx(pe,q.current)){const Ce=Yl(U,q.current,!0);Y(Ce)}if(!Wx(_e,M.current)){const Ce=Yl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:T?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:T?void 0:p,onPointerMove:T?G:y,onPointerUp:T?D:void 0,onPointerDownCapture:T?L:void 0,onClickCapture:T?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(vA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function sS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=oz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const SA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function uS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=SA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Yo(z,s));const{position:_,positionAbsolute:T}=zw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=T,p.set(E.id,E)}d(p)},[])}const cm=V.createContext(null),_A=cm.Provider;cm.Consumer;const cS=()=>V.useContext(cm),EA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),NA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Wl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function kA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=cS(),{connectOnClick:z,noPanClassName:_,rfId:T}=Ie(EA,dt),{connectingFrom:B,connectingTo:A,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(NA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N($T(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Hw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Rw($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${T}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:A,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(aS(kA));function CA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function TA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function zA(){return null}function AA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const nc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},zv={input:CA,default:TA,output:AA,group:zA};function MA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const jA=e=>{const{width:n,height:i,x:l,y:o}=Vo(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function OA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(jA,dt),d=uS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(sS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(nc,v.key)&&(v.preventDefault(),d({direction:nc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Av=typeof window<"u"?window:void 0,DA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function fS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(DA,dt),P=Do(h,{target:Av}),N=Do(k,{target:Av}),Y=N||M,F=N||T,K=m&&Y!==!0,ne=P||U||K;return pA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(yA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:A,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(wA,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(OA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}fS.displayName="FlowRenderer";const RA=V.memo(fS),LA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function HA(e){return Ie(V.useCallback(LA(e),[e]),dt)}const BA=e=>e.updateNodeInternals;function qA(){const e=Ie(BA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function UA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function IA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:T,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let A=_.type||"default",q=(S==null?void 0:S[A])||zv[A];q===void 0&&(z==null||z("003",tr.error003(A)),A="default",q=(S==null?void 0:S.default)||zv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=Ow(_),L=UA({node:_,nodeType:A,hasDimensions:ee,resizeObserver:p}),G=sS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=uS();if(_.hidden)return null;const $=Ar(_),Z=MA(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...T.userNode}):void 0,U=l?re=>l(re,{...T.userNode}):void 0,P=o?re=>o(re,{...T.userNode}):void 0,N=s?re=>s(re,{...T.userNode}):void 0,Y=u?re=>u(re,{...T.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();R&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...T.userNode})},K=re=>{if(!(Lw(re.nativeEvent)||w)){if(Ew.includes(re.key)&&R){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(nc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),D({direction:nc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,_]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${A}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${eS}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(_A,{value:e,children:b.jsx(q,{id:e,data:_.data,type:A,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:T.z,parentId:_.parentId,...$})})})}var VA=V.memo(IA);const YA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function dS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(YA,dt),u=HA(e.onlyRenderVisibleElements),f=qA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(VA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}dS.displayName="NodeRenderer";const GA=V.memo(dS);function $A(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&VT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const XA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},PA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Mv={[Wu.Arrow]:XA,[Wu.ArrowClosed]:PA};function FA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Mv,e)?Mv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const QA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=FA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},hS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>ZT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(QA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};hS.displayName="MarkerDefinitions";var ZA=V.memo(hS);function pS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}pS.displayName="EdgeText";const KA=V.memo(pS);function Xo({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx(KA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function jv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function mS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=jv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=jv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=Bw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function gS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,T]=mS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(Xo,{id:B,path:z,labelX:_,labelY:T,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const JA=gS({isInternal:!1}),yS=gS({isInternal:!0});JA.displayName="SimpleBezierEdge";yS.displayName="SimpleBezierEdgeInternal";function xS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const vS=xS({isInternal:!1}),bS=xS({isInternal:!0});vS.displayName="SmoothStepEdge";bS.displayName="SmoothStepEdgeInternal";function wS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(vS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const WA=wS({isInternal:!1}),SS=wS({isInternal:!0});WA.displayName="StepEdge";SS.displayName="StepEdgeInternal";function _S(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=Uw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx(Xo,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const eM=_S({isInternal:!1}),ES=_S({isInternal:!0});eM.displayName="StraightEdge";ES.displayName="StraightEdgeInternal";function NS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,T,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),A=e.isInternal?void 0:n;return b.jsx(Xo,{id:A,path:_,labelX:T,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const tM=NS({isInternal:!1}),kS=NS({isInternal:!0});tM.displayName="BezierEdge";kS.displayName="BezierEdgeInternal";const Ov={default:kS,straight:ES,step:SS,smoothstep:bS,simplebezier:yS},Dv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},nM=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,rM=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Rv="react-flow__edgeupdater";function Lv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Rv,`${Rv}-${f}`]),cx:nM(n,l,e),cy:rM(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function iM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(T,B)=>{if(T.button!==0)return;const{autoPanOnConnect:A,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(T,i,B.type),H==null||H(U,P)};Ap.onPointerDown(T.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:T.currentTarget})},S=T=>k(T,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=T=>k(T,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Lv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Lv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function lM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(xe=>xe.edgeLookup.get(e));const T=Ie(xe=>xe.defaultEdgeOptions);_=T?{...T,..._}:_;let B=_.type||"default",A=(k==null?void 0:k[B])||Ov[B];A===void 0&&(E==null||E("011",tr.error011(B)),B="default",A=(k==null?void 0:k.default)||Ov.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(_.source),_e=xe.nodeLookup.get(_.target);if(!pe||!_e)return{zIndex:_.zIndex,...Dv};const Me=QT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:IT({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||Dv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=V.useMemo(()=>_.markerStart?`url('#${Tp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),Y=V.useMemo(()=>_.markerEnd?`url('#${Tp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,_)},K=s?xe=>{s(xe,{..._})}:void 0,ne=u?xe=>{u(xe,{..._})}:void 0,re=f?xe=>{f(xe,{..._})}:void 0,se=d?xe=>{d(xe,{..._})}:void 0,ye=h?xe=>{h(xe,{..._})}:void 0,ve=xe=>{var pe;if(!z&&Ew.includes(xe.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${tS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(A,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(iM,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var aM=V.memo(lM);const oM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function CS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(oM,dt),T=$A(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(ZA,{defaultColor:e,rfId:i}),T.map(B=>b.jsx(aM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}CS.displayName="EdgeRenderer";const sM=V.memo(CS),uM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function cM({children:e}){const n=Ie(uM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function fM(e){const n=$o(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const dM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function hM(e){const n=Ie(dM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function pM(e){return e.connection.inProgress?{...e.connection,to:Go(e.connection.to,e.transform)}:{...e.connection}}function mM(e){return pM}function gM(e){const n=mM();return Ie(n,dt)}const yM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function xM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(yM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Cw(f)]),children:b.jsx(TS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const TS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=gM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Cw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=mS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Uw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};TS.displayName="ConnectionLine";const vM={};function Hv(e=vM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function bM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function zS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Hv(e),Hv(n),bM(),fM(i),hM(ue),b.jsx(RA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:T,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:A,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(cM,{children:[b.jsx(sM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(xM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(GA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}zS.displayName="GraphView";const wM=V.memo(zS),Bv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],T=p??Ao;Yw(k,S,E);const B=zp(z,v,w,{nodeOrigin:_,nodeExtent:T,zIndexMode:y});let A=[0,0,1];if(u&&o&&s){const q=Vo(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);A=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:A,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:Ao,nodeExtent:T,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Wl.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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...kw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:RT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Nw,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},SM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>qz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:T,height:B,minZoom:A,maxZoom:q}=w();E&&(await OT({nodes:S,width:T,height:B,panZoom:E,minZoom:A,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Bv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:T,fitViewQueued:B,zIndexMode:A}=w(),q=zp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:T,checkEquality:!0,zIndexMode:A});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Yw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:T,nodeOrigin:B,nodeExtent:A,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=rz(S,z,_,T,B,A,R);H&&(WT(z,_,{nodeOrigin:B,nodeExtent:A,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:T,triggerNodeChanges:B,connection:A,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=T.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&A.inProgress&&A.fromNode.id===H.id){const L=Xi(H,A.fromHandle,we.Left,!0);q({...A,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=um(z,T,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=iS(S,_);z(A)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:T,debug:B}=w();if(S!=null&&S.length){if(T){const A=lS(S,_);z(A)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));T(A);return}T(Yl(_,new Set([...S]),!0)),B(Yl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:T,triggerEdgeChanges:B}=w();if(E){const A=S.map(q=>Ri(q,!0));B(A);return}B(Yl(z,new Set([...S]))),T(Yl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:T,triggerNodeChanges:B,triggerEdgeChanges:A}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=T.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),A(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:T}=w();if(!T)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),A=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(A)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:T,elevateNodesOnSelect:B,nodeExtent:A,zIndexMode:q}=w();S[0][0]===A[0][0]&&S[0][1]===A[0][1]&&S[1][0]===A[1][0]&&S[1][1]===A[1][1]||(zp(E,z,_,{nodeOrigin:T,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:T,translateExtent:B}=w();return iz({delta:S,panZoom:T,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:T,maxZoom:B,panZoom:A}=w();if(!A)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await A.setViewport({x:_/2-S*q,y:T/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...kw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Bv()})}},Object.is);function _M({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>SM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Iz,{value:w,children:b.jsx(cA,{children:v})})}function EM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(_M,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const NM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function kM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Mo.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=Oo()?"Meta":"Control",zoomActivationKeyCode:xe=Oo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=nS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=eA,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=Ao,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Qo,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo=10,onNodesChange:es,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:el,fitViewOptions:ts,connectOnClick:Cc,attributionPosition:ns,proOptions:mi,defaultEdgeOptions:fa,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,connectionRadius:is,isValidConnection:ar,onError:Lr,style:Tc,id:da,nodeDragThreshold:ls,connectionDragThreshold:zc,viewport:tl,onViewportChange:nl,width:On,height:Pt,colorMode:as="light",debug:Ac,onScroll:Hr,ariaLabelConfig:os,zIndexMode:gi="basic",...Mc},Ft){const yi=da||"1",ss=iA(as),ha=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:ha,style:{...Tc,...NM},ref:Ft,className:Tt(["react-flow",o,ss]),id:da,role:"application",children:b.jsxs(EM,{nodes:e,edges:n,width:On,height:Pt,fitView:el,fitViewOptions:ts,minZoom:ue,maxZoom:ge,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(wM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:T,onNodeContextMenu:B,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:Re,zoomOnScroll:jn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:tl,onViewportChange:nl}),b.jsx(rA,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:es,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:fa,fitView:el,fitViewOptions:ts,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,onError:Lr,connectionRadius:is,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:ls,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:os,zIndexMode:gi}),b.jsx(Wz,{onSelectionChange:ee}),Qo,b.jsx(Fz,{proOptions:mi,position:ns}),b.jsx(Pz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var CM=aS(kM);const TM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function zM({children:e}){const n=Ie(TM);return n?Uz.createPortal(e,n):null}function AM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>iS(o,s)),[]);return[n,i,l]}function MM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>lS(o,s)),[]);return[n,i,l]}function jM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function OM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const DM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},RM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function AS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(RM,dt),w=l||DM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],T=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,A=[T[0]*y[2]||1+B[0]/2,T[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:k?b.jsx(OM,{radius:_/2,className:m}):b.jsx(jM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}AS.displayName="Background";const LM=V.memo(AS);function HM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function BM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function qM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 UM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 IM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Mu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const VM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function MS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(VM,dt),{zoomIn:_,zoomOut:T,fitView:B}=$o(),A=()=>{_(),s==null||s()},q=()=>{T(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Mu,{onClick:A,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(HM,{})}),b.jsx(Mu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(BM,{})})]}),i&&b.jsx(Mu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(qM,{})}),l&&b.jsx(Mu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(IM,{}):b.jsx(UM,{})}),m]})}MS.displayName="Controls";const YM=V.memo(MS);function GM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const $M=V.memo(GM),XM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function PM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=$M,onClick:u}){const f=Ie(XM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(QM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function FM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:T}=Ar(S);return{node:S,x:E,y:z,width:_,height:T}},dt);return!h||h.hidden||!Ow(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const QM=V.memo(FM);var ZM=V.memo(PM);const KM=200,JM=150,WM=e=>!e.hidden,ej=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?jw(Vo(e.nodeLookup,{filter:WM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},tj="react-flow__minimap-desc";function jS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:T=5}){const B=ht(),A=V.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(ej,dt),G=(e==null?void 0:e.width)??KM,D=(e==null?void 0:e.height)??JM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,P=T*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${tj}-${R}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(A.current&&X)return se.current=hz({domNode:A.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=E??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:A,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(ZM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}jS.displayName="MiniMap";const nj=V.memo(jS),rj=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,ij={[ra.Line]:"right",[ra.Handle]:"bottom-right"};function lj({nodeId:e,position:n,variant:i=ra.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=cS(),_=typeof e=="string"?e:z,T=ht(),B=V.useRef(null),A=i===ra.Handle,q=Ie(V.useCallback(rj(A&&v),[A,v]),dt),M=V.useRef(null),R=n??ij[i];V.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=Cz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=T.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=T.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...Dw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,D);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};T.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[A?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(lj);var oh,qv;function fm(){if(qv)return oh;qv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Uv;function aj(){return Uv||(Uv=1,sh="2.2.4"),sh}var uh,Iv;function oj(){return Iv||(Iv=1,uh={Graph:fm(),version:aj()}),uh}var ch,Vv;function sj(){if(Vv)return ch;Vv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Yv;function uj(){if(Yv)return fh;Yv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Gv;function OS(){if(Gv)return dh;Gv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Xv;function cj(){if(Xv)return ph;Xv=1;var e=DS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,Pv;function RS(){if(Pv)return mh;Pv=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Fv;function fj(){if(Fv)return gh;Fv=1;var e=RS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Qv;function dj(){if(Qv)return yh;Qv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Wv;function pj(){if(Wv)return wh;Wv=1;var e=HS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,e1;function mj(){if(e1)return Sh;e1=1;var e=HS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,t1;function gj(){if(t1)return _h;t1=1;var e=fm(),n=OS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,n1;function yj(){return n1||(n1=1,Eh={components:uj(),dijkstra:DS(),dijkstraAll:cj(),findCycles:fj(),floydWarshall:dj(),isAcyclic:hj(),postorder:pj(),preorder:mj(),prim:gj(),tarjan:RS(),topsort:LS()}),Eh}var Nh,r1;function Vn(){if(r1)return Nh;r1=1;var e=oj();return Nh={Graph:e.Graph,json:sj(),alg:yj(),version:e.version},Nh}var kh,i1;function xj(){if(i1)return kh;i1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,l1;function vj(){if(l1)return Ch;l1=1;let e=Vn().Graph,n=xj();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=T(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=y){const X=[];for(let H=0;Hy){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function T(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Th}var zh,o1;function bj(){if(o1)return zh;o1=1;let e=vj(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,s1;function wj(){if(s1)return Ah;s1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,u1;function rc(){if(u1)return Mh;u1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,c1;function BS(){if(c1)return jh;c1=1;var e=Vn().Graph,n=rc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,f1;function Sj(){if(f1)return Oh;f1=1;var e=BS(),n=rc().slack,i=rc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var T,B;T=y(_);)B=v(_,z,T),w(_,z,T,B)}function f(z,_){var T=o(z,z.nodes());T=T.slice(0,T.length-1),T.forEach(B=>d(z,_,B))}function d(z,_,T){var B=z.node(T),A=B.parent;z.edge(T,A).cutvalue=h(z,_,T)}function h(z,_,T){var B=z.node(T),A=B.parent,q=!0,M=_.edge(T,A),R=0;return M||(q=!1,M=_.edge(A,T)),R=M.weight,_.nodeEdges(T).forEach(X=>{var H=X.v===T,I=H?X.w:X.v;if(I!==A){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,T,I)){var G=z.edge(T,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,T,B,A){var q=T,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(T=p(z,_,T,R,B))}),M.low=q,M.lim=T++,A?M.parent=A:delete M.parent,T}function y(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,T){var B=T.v,A=T.w;_.hasEdge(B,A)||(B=T.w,A=T.v);var q=z.node(B),M=z.node(A),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(A).parent),B=l(z,T);B=B.slice(1),B.forEach(A=>{var q=z.node(A).parent,M=_.edge(A,q),R=!1;M||(M=_.edge(q,A),R=!0),_.node(A).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,T){return z.hasEdge(_,T)}function E(z,_,T){return T.low<=_.lim&&_.lim<=T.lim}return Oh}var Dh,d1;function _j(){if(d1)return Dh;d1=1;var e=rc(),n=e.longestPath,i=BS(),l=Sj();Dh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Dh}var Rh,h1;function Ej(){if(h1)return Rh;h1=1,Rh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Rh}var Lh,p1;function Nj(){if(p1)return Lh;p1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,T=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,A=_!==T?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:A,nestingEdge:!0}),u.setEdge(T,k,{weight:B,minlen:A,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,m1;function kj(){if(m1)return Hh;m1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,y1;function Tj(){if(y1)return qh;y1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,x1;function zj(){if(x1)return Uh;x1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,v1;function Aj(){if(v1)return Ih;v1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,b1;function Mj(){if(b1)return Vh;b1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,w1;function jj(){if(w1)return Yh;w1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,S1;function Oj(){if(S1)return Gh;S1=1;let e=Aj(),n=Mj(),i=jj();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,_1;function Dj(){if(_1)return $h;_1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,E1;function Rj(){if(E1)return Xh;E1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,N1;function Lj(){if(N1)return Ph;N1=1;let e=Tj(),n=zj(),i=Oj(),l=Dj(),o=Rj(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,T=0;T<4;++_,++T){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,k1;function Hj(){if(k1)return Fh;k1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let z={};function _(T,B){let A=0,q=0,M=T.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function T(B,A){let q=-1,M,R=0;return A.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(A,R,H,q,M),R=H,q=M)}_(A,R,A.length,M,B.length)}),A}return E.length&&E.reduce(T),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let T=E;E=z,z=T}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let T={},B={},A={};return E.forEach(q=>{q.forEach((M,R)=>{T[M]=M,B[M]=M,A[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>A[I]-A[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+A.edge(ee)),0)}function X(H){let I=A.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-A.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,A.predecessors.bind(A)),M(X,A.successors.bind(A)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let T=new e,B=S.graph(),A=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(T.setNode(X),M){var H=z[M],I=T.edge(H,X);T.setEdge(H,X,Math.max(A(S,R,M),I||0))}M=R})}),T}function m(S,E){return Object.values(E).reduce((z,_)=>{let T=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;T=Math.max(M+R,T),B=Math.min(M-R,B)});const A=T-B;return A{["l","r"].forEach(A=>{let q=B+A,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);A!=="l"&&(X=T-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let T=Object.values(S).map(B=>B[_]).sort((B,A)=>B-A);return(T[1]+T[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},T;["u","d"].forEach(A=>{T=A==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(T=T.map(H=>Object.values(H).reverse()));let M=(A==="u"?S.predecessors:S.successors).bind(S),R=f(S,T,z,M),X=d(S,T,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[A+q]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,z){return(_,T,B)=>{let A=_.node(T),q=_.node(B),M=0,R;if(M+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":R=-A.width/2;break;case"r":R=A.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(A.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return Fh}var Qh,C1;function Bj(){if(C1)return Qh;C1=1;let e=Ct(),n=Hj().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,T1;function qj(){if(T1)return Zh;T1=1;let e=bj(),n=wj(),i=_j(),l=Ct().normalizeRanks,o=Ej(),s=Ct().removeEmptyRanks,u=Nj(),f=kj(),d=Cj(),h=Lj(),m=Bj(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>R(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>D(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],T={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},E,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,_);Object.keys(T).forEach(se=>{re[se]===void 0&&(re[se]=T[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},A,U(ne,B),p.pick(ne,q)))}),Y}function R(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,z1;function Uj(){if(z1)return Kh;z1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,A1;function Ij(){return A1||(A1=1,Jh="1.1.8"),Jh}var Wh,M1;function Vj(){return M1||(M1=1,Wh={graphlib:Vn(),layout:qj(),debug:Uj(),util:{time:Ct().time,notime:Ct().notime},version:Ij()}),Wh}var Yj=Vj();const j1=Lo(Yj),yo=200,Gl=56,O1=20,D1=40,Gj=20,R1=12;function $j(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=yo+O1*2,E=D1+k*Gl+(k-1)*R1+Gj;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return Xj(f,d),{nodes:f,edges:d}}function Xj(e,n){var l,o,s,u;const i=new j1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||yo,m=d&&((o=f.style)==null?void 0:o.height)||Gl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);j1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||yo,p=h&&((u=f.style)==null?void 0:u.height)||Gl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"};function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Zl(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const Pj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.elapsed}),h=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.model}),m=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.tokens}),p=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.input_tokens}),y=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.output_tokens}),v=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.cost_usd}),w=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.iteration}),k=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_type}),S=he(T=>{var B;return(B=T.nodes[i])==null?void 0:B.error_message}),E=Fj(i,u),z=Qj(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const T=[];return d!=null&&T.push(ln(d)),m!=null&&T.push(`${Wn(m)} tok`),v!=null&&T.push(Zl(v)),{text:T.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",z),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(Y2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Fj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Qj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Zj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=Kj(i,u),v=Jj(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(aN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Kj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Jj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Wj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=e4(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(lN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function e4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const t4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?nN:J2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=n4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function n4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const r4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Cb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),i4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),l4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(R=>R.highlightedEdges),y=V.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",T=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",A=2,q;T?(B="var(--failed)",A=3):z?(B="var(--edge-taken)",A=3):_&&(B="var(--edge-active)",A=3),E&&!z&&!_&&!T&&(q="6 3");const M=T?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(Xo,{id:n,path:v,style:{stroke:B,strokeWidth:A,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(zM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:T?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:T||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${T?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),T&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function a4(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(oN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(Q2,{className:"w-3 h-3"}),"View"]})]})})}function o4(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=zb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx($2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Zl(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(Bo,{className:"w-3.5 h-3.5"})})]})})}const s4={agentNode:Pj,scriptNode:Zj,gateNode:Wj,groupNode:t4,endNode:r4,startNode:i4},u4={animatedEdge:l4},c4={type:"animatedEdge"};function f4(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function d4(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=AM([]),[k,S,E]=MM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=$j(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=V.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),T=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const A=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(f4,{}),b.jsx(a4,{}),b.jsx(o4,{}),A&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(cN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(_o,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(CM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:T,nodeTypes:s4,edgeTypes:u4,defaultEdgeOptions:c4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(LM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(nj,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(YM,{showInteractive:!1,children:b.jsx(h4,{})}),b.jsx(p4,{})]})]})}function h4(){const{fitView:e}=$o(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(eN,{className:"w-3.5 h-3.5"})})}function p4(){const{fitView:e}=$o();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function la({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function qS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Zl(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=Tb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(kb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(m4,{text:d}):d})]})}function m4({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(g4,{entry:s},u))})]})}function g4({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function y4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(L1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(la,{items:qS(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(L1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function L1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(Fi,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:x4(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(la,{items:qS(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function x4(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function v4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` +`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return V.useEffect(()=>{const d=(n==null?void 0:n.target)??wv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,_;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Hw(v))return!1;const k=_v(v.code,f);if(s.current.add(v[k]),Sv(u,s.current,!1)){const z=((_=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:_[0])||v.target,E=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!E)&&v.preventDefault(),l(!0)}},p=v=>{const w=_v(v.code,f);Sv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function Sv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function _v(e,n){return n.includes(e)?"code":"key"}const oA=()=>{const e=ht();return V.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=nm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Go(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=tc(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function iS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)sA(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function sA(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function lS(e,n){return iS(e,n)}function aS(e,n){return iS(e,n)}function Di(e,n){return{id:e,type:"select",selected:n}}function Yl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Di(s.id,u)))}return l}function Ev({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Nv(e){return{id:e.id,type:"remove"}}const kv=e=>MT(e),uA=e=>zw(e);function oS(e){return V.forwardRef(e)}const cA=typeof window<"u"?V.useLayoutEffect:V.useEffect;function Cv(e){const[n,i]=V.useState(BigInt(0)),[l]=V.useState(()=>fA(()=>i(o=>o+BigInt(1))));return cA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function fA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const sS=V.createContext(null);function dA({children:e}){const n=ht(),i=V.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const _ of f)k=typeof _=="function"?_(k):_;let S=Ev({items:k,lookup:y});for(const _ of w.values())S=_(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:_,nodes:z,setNodes:E}=n.getState();_&&E(z)})},[]),l=Cv(i),o=V.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Ev({items:v,lookup:y}))},[]),s=Cv(o),u=V.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(sS.Provider,{value:u,children:e})}function hA(){const e=V.useContext(sS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const pA=e=>!!e.panZoom;function $o(){const e=oA(),n=ht(),i=hA(),l=Ie(pA),o=V.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var _,z;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=kv(p)?p:y.get(p.id),k=w.parentId?Dw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:k,width:((_=w.measured)==null?void 0:_.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ta(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&kv(S)?S:{...k,...S}}return k}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof y=="function"?y(k):y;return v.replace&&uA(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(_=>({..._})),edges:y.map(_=>({..._})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:_,triggerEdgeChanges:z,onDelete:E,onBeforeDelete:A}=n.getState(),{nodes:B,edges:T}=await LT({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:A}),q=T.length>0,M=B.length>0;if(q){const D=T.map(Nv);S==null||S(T),z(D)}if(M){const D=B.map(Nv);k==null||k(B),_(D)}return(M||q)&&(E==null||E({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,y=!0,v)=>{const w=Jx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(_=>{const z=n.getState().nodeLookup.get(_.id);if(z&&!w&&(_.id===p.id||!z.internals.positionAbsolute))return!1;const E=ta(S?_:z),A=jo(E,k);return y&&A>0||A>=E.width*E.height||A>=k.width*k.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const k=Jx(p)?p:d(p);if(!k)return!1;const S=jo(k,y);return v&&S>0||S>=y.width*y.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const k=typeof y=="function"?y(w):y;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return jT(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??UT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return V.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Tv=e=>e.selected,mA=typeof window<"u"?window:void 0;function gA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=$o(),o=Ro(e,{actInsideInputWithModifier:!1}),s=Ro(n,{target:mA});V.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Tv),edges:u.filter(Tv)}),i.setState({nodesSelectionActive:!1})}},[o]),V.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function yA(e){const n=ht();V.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=rm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const bc={position:"absolute",width:"100%",height:"100%",top:0,left:0},xA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function vA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:_,isControlledViewport:z,paneClickDistance:E,selectionOnDrag:A}){const B=ht(),T=V.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:D}=Ie(xA,dt),X=Ro(y),H=V.useRef();yA(T);const I=V.useCallback(ee=>{_==null||_({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[_,z]);return V.useEffect(()=>{if(T.current){H.current=_z({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:R=>B.setState($=>$.paneDragging===R?$:{paneDragging:R}),onPanZoomStart:(R,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(R,$),Z==null||Z($)},onPanZoom:(R,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(R,$),Z==null||Z($)},onPanZoomEnd:(R,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(R,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:T.current.closest(".react-flow")}),()=>{var R;(R=H.current)==null||R.destroy()}}},[]),V.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:D,selectionOnDrag:A,paneClickDistance:E})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,D,A,E]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:bc,children:w})}const bA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function wA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(bA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const lh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},SA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function _A({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Mo.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:_,dragging:z,connectionInProgress:E}=Ie(SA,dt),A=_&&(e||S),B=V.useRef(null),T=V.useRef(),q=V.useRef(new Set),M=V.useRef(new Set),D=V.useRef(!1),X=Z=>{if(D.current||E){D.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{D.current&&(Z.stopPropagation(),D.current=!1)},L=Z=>{var F,K;const{domNode:J}=k.getState();if(T.current=J==null?void 0:J.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(F=Z.target)==null?void 0:F.setPointerCapture)==null||K.call(F,Z.pointerId),D.current=!1;const{x:N,y:Y}=Un(Z.nativeEvent,T.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:Y,x:N,y:Y}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:N,triggerNodeChanges:Y,triggerEdgeChanges:F,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!T.current||!J)return;const{x:re,y:se}=Un(Z.nativeEvent,T.current),{startX:ye,startY:ve}=J;if(!D.current){const Ce=n?0:o;if(Math.hypot(re-ye,se-ve)<=Ce)return;ne(),u==null||u(Z)}D.current=!0;const xe={startX:ye,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=P.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Wx(pe,q.current)){const Ce=Yl(U,q.current,!0);Y(Ce)}if(!Wx(_e,M.current)){const Ce=Yl(P,M.current);F(Ce)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},R=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),D.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:A?void 0:lh(X,B),onContextMenu:lh(H,B),onWheel:lh(I,B),onPointerEnter:A?void 0:p,onPointerMove:A?G:y,onPointerUp:A?R:void 0,onPointerDownCapture:A?L:void 0,onClickCapture:A?ee:void 0,onPointerLeave:v,ref:B,style:bc,children:[w,b.jsx(wA,{})]})}function Mp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function uS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=V.useState(!1),m=V.useRef();return V.useEffect(()=>{m.current=uz({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Mp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),V.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const EA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function cS(){const e=ht();return V.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=EA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,_]of h){if(!y(_))continue;let z={x:_.internals.positionAbsolute.x+k,y:_.internals.positionAbsolute.y+S};o&&(z=Yo(z,s));const{position:E,positionAbsolute:A}=Aw({nodeId:_.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});_.position=E,_.internals.positionAbsolute=A,p.set(_.id,_)}d(p)},[])}const cm=V.createContext(null),NA=cm.Provider;cm.Consumer;const fS=()=>V.useContext(cm),kA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),CA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Wl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function TA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var G,R;const w=u||null,k=e==="target",S=ht(),_=fS(),{connectOnClick:z,noPanClassName:E,rfId:A}=Ie(kA,dt),{connectingFrom:B,connectingTo:T,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:D,clickConnectionInProcess:X,valid:H}=Ie(CA(_,w,e),dt);_||(R=(G=S.getState()).onError)==null||R.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:N}=S.getState();N(PT(U,P))}J==null||J(U),f==null||f(U)},ee=$=>{if(!_)return;const Z=Bw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Ap.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:_,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:N,rfId:Y,nodeLookup:F,connection:K}=S.getState();if(!_||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:_,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:_,type:e,id:w}});return}const ne=Lw($.target),re=i||P,{connection:se,isValid:ye}=Ap.isValid($.nativeEvent,{handle:{nodeId:_,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:Y,doc:ne,lib:N,nodeLookup:F});ye&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":_,"data-handlepos":n,"data-id":`${A}-${_}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",E,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:T,valid:H,connectionindicator:l&&(!D||M)&&(D||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...y,children:d})}const an=V.memo(oS(TA));function zA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(an,{type:"source",position:i,isConnectable:n})]})}function AA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(an,{type:"source",position:l,isConnectable:n})]})}function MA(){return null}function jA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const nc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},zv={input:zA,default:AA,output:jA,group:MA};function OA(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const RA=e=>{const{width:n,height:i,x:l,y:o}=Vo(e.nodeLookup,{filter:s=>!!s.selected});return{width:qn(n)?n:null,height:qn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function DA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(RA,dt),d=cS(),h=V.useRef(null);V.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(uS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(nc,v.key)&&(v.preventDefault(),d({direction:nc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Av=typeof window<"u"?window:void 0,LA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function dS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:_,zoomOnScroll:z,zoomOnPinch:E,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:D,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:R,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(LA,dt),P=Ro(h,{target:Av}),N=Ro(k,{target:Av}),Y=N||M,F=N||A,K=m&&Y!==!0,ne=P||U||K;return gA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(vA,{onPaneContextMenu:s,elementsSelectable:_,zoomOnScroll:z,zoomOnPinch:E,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:!P&&Y,defaultViewport:D,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:R,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(_A,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:Y,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(DA,{onSelectionContextMenu:L,noPanClassName:R,disableKeyboardA11y:$})]})})}dS.displayName="FlowRenderer";const HA=V.memo(dS),BA=e=>n=>e?tm(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function qA(e){return Ie(V.useCallback(BA(e),[e]),dt)}const UA=e=>e.updateNodeInternals;function IA(){const e=Ie(UA),[n]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return V.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function VA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=V.useRef(null),u=V.useRef(null),f=V.useRef(e.sourcePosition),d=V.useRef(e.targetPosition),h=V.useRef(n),m=i&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),V.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),V.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function YA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:_,onError:z}){const{node:E,internals:A,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ye=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ye}},dt);let T=E.type||"default",q=(S==null?void 0:S[T])||zv[T];q===void 0&&(z==null||z("003",tr.error003(T)),T="default",q=(S==null?void 0:S.default)||zv.default);const M=!!(E.draggable||f&&typeof E.draggable>"u"),D=!!(E.selectable||d&&typeof E.selectable>"u"),X=!!(E.connectable||h&&typeof E.connectable>"u"),H=!!(E.focusable||m&&typeof E.focusable>"u"),I=ht(),ee=Rw(E),L=VA({node:E,nodeType:T,hasDimensions:ee,resizeObserver:p}),G=uS({nodeRef:L,disabled:E.hidden||!M,noDragClassName:y,handleSelector:E.dragHandle,nodeId:e,isSelectable:D,nodeClickDistance:_}),R=cS();if(E.hidden)return null;const $=Ar(E),Z=OA(E),J=D||M||n||i||l||o,j=i?re=>i(re,{...A.userNode}):void 0,U=l?re=>l(re,{...A.userNode}):void 0,P=o?re=>o(re,{...A.userNode}):void 0,N=s?re=>s(re,{...A.userNode}):void 0,Y=u?re=>u(re,{...A.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ye}=I.getState();D&&(!se||!M||ye>0)&&Mp({id:e,store:I,nodeRef:L}),n&&n(re,{...A.userNode})},K=re=>{if(!(Hw(re.nativeEvent)||w)){if(Nw.includes(re.key)&&D){const se=re.key==="Escape";Mp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&E.selected&&Object.prototype.hasOwnProperty.call(nc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),R({direction:nc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ye,autoPanOnNodeFocus:ve,setCenter:xe}=I.getState();if(!ve)return;tm(new Map([[e,E]]),{x:0,y:0,width:se,height:ye},re,!0).length>0||xe(E.position.x+$.width/2,E.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},E.className,{selected:E.selected,selectable:D,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",...E.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:N,onClick:F,onDoubleClick:Y,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:E.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${tS}-${k}`,"aria-label":E.ariaLabel,...E.domAttributes,children:b.jsx(NA,{value:e,children:b.jsx(q,{id:e,data:E.data,type:T,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:E.selected??!1,selectable:D,draggable:M,deletable:E.deletable??!0,isConnectable:X,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:G,dragHandle:E.dragHandle,zIndex:A.z,parentId:E.parentId,...$})})})}var GA=V.memo(YA);const $A=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function hS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie($A,dt),u=qA(e.onlyRenderVisibleElements),f=IA();return b.jsx("div",{className:"react-flow__nodes",style:bc,children:u.map(d=>b.jsx(GA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}hS.displayName="NodeRenderer";const XA=V.memo(hS);function PA(e){return Ie(V.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&>({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const FA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},QA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Mv={[Wu.Arrow]:FA,[Wu.ArrowClosed]:QA};function ZA(e){const n=ht();return V.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Mv,e)?Mv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const KA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=ZA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},pS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=V.useMemo(()=>JT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(KA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};pS.displayName="MarkerDefinitions";var JA=V.memo(pS);function mS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=V.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=V.useRef(null);return V.useEffect(()=>{if(w.current){const k=w.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}mS.displayName="EdgeText";const WA=V.memo(mS);function Xo({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&qn(n)&&qn(i)?b.jsx(WA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function jv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function gS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=jv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=jv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=qw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function yS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:_})=>{const[z,E,A]=gS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(Xo,{id:B,path:z,labelX:E,labelY:A,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:_})})}const eM=yS({isInternal:!1}),xS=yS({isInternal:!0});eM.displayName="SimpleBezierEdge";xS.displayName="SimpleBezierEdgeInternal";function vS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:z})=>{const[E,A,B]=Cp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:_==null?void 0:_.borderRadius,offset:_==null?void 0:_.offset,stepPosition:_==null?void 0:_.stepPosition}),T=e.isInternal?void 0:n;return b.jsx(Xo,{id:T,path:E,labelX:A,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:k,markerStart:S,interactionWidth:z})})}const bS=vS({isInternal:!1}),wS=vS({isInternal:!0});bS.displayName="SmoothStepEdge";wS.displayName="SmoothStepEdgeInternal";function SS(e){return V.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(bS,{...i,id:l,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const tM=SS({isInternal:!1}),_S=SS({isInternal:!0});tM.displayName="StepEdge";_S.displayName="StepEdgeInternal";function ES(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,_,z]=Iw({sourceX:i,sourceY:l,targetX:o,targetY:s}),E=e.isInternal?void 0:n;return b.jsx(Xo,{id:E,path:S,labelX:_,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:k})})}const nM=ES({isInternal:!1}),NS=ES({isInternal:!0});nM.displayName="StraightEdge";NS.displayName="StraightEdgeInternal";function kS(e){return V.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:z})=>{const[E,A,B]=im({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:_==null?void 0:_.curvature}),T=e.isInternal?void 0:n;return b.jsx(Xo,{id:T,path:E,labelX:A,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const rM=kS({isInternal:!1}),CS=kS({isInternal:!0});rM.displayName="BezierEdge";CS.displayName="BezierEdgeInternal";const Ov={default:CS,straight:NS,step:_S,smoothstep:wS,simplebezier:xS},Rv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},iM=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,lM=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Dv="react-flow__edgeupdater";function Lv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Dv,`${Dv}-${f}`]),cx:iM(n,l,e),cy:lM(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function aM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=ht(),k=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:T,domNode:q,connectionMode:M,connectionRadius:D,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:R}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},J=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(A,i,B.type),H==null||H(U,P)};Ap.onPointerDown(A.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:D,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var P,N;return((N=(P=w.getState()).isValidConnection)==null?void 0:N.call(P,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var P,N;return(N=(P=w.getState()).onConnectEnd)==null?void 0:N.call(P,...U)},onReconnectEnd:Z,updateConnection:R,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>k(A,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),_=A=>k(A,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),E=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Lv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&b.jsx(Lv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:_,onMouseEnter:z,onMouseOut:E,type:"target"})]})}function oM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:_,disableKeyboardA11y:z}){let E=Ie(xe=>xe.edgeLookup.get(e));const A=Ie(xe=>xe.defaultEdgeOptions);E=A?{...A,...E}:E;let B=E.type||"default",T=(k==null?void 0:k[B])||Ov[B];T===void 0&&(_==null||_("011",tr.error011(B)),B="default",T=(k==null?void 0:k.default)||Ov.default);const q=!!(E.focusable||n&&typeof E.focusable>"u"),M=typeof p<"u"&&(E.reconnectable||i&&typeof E.reconnectable>"u"),D=!!(E.selectable||l&&typeof E.selectable>"u"),X=V.useRef(null),[H,I]=V.useState(!1),[ee,L]=V.useState(!1),G=ht(),{zIndex:R,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P}=Ie(V.useCallback(xe=>{const pe=xe.nodeLookup.get(E.source),_e=xe.nodeLookup.get(E.target);if(!pe||!_e)return{zIndex:E.zIndex,...Rv};const Me=KT({id:e,sourceNode:pe,targetNode:_e,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:xe.connectionMode,onError:_});return{zIndex:YT({selected:E.selected,zIndex:E.zIndex,sourceNode:pe,targetNode:_e,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Me||Rv}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),dt),N=V.useMemo(()=>E.markerStart?`url('#${Tp(E.markerStart,w)}')`:void 0,[E.markerStart,w]),Y=V.useMemo(()=>E.markerEnd?`url('#${Tp(E.markerEnd,w)}')`:void 0,[E.markerEnd,w]);if(E.hidden||$===null||Z===null||J===null||j===null)return null;const F=xe=>{var Ce;const{addSelectedEdges:pe,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();D&&(G.setState({nodesSelectionActive:!1}),E.selected&&Me?(_e({nodes:[],edges:[E]}),(Ce=X.current)==null||Ce.blur()):pe([e])),o&&o(xe,E)},K=s?xe=>{s(xe,{...E})}:void 0,ne=u?xe=>{u(xe,{...E})}:void 0,re=f?xe=>{f(xe,{...E})}:void 0,se=d?xe=>{d(xe,{...E})}:void 0,ye=h?xe=>{h(xe,{...E})}:void 0,ve=xe=>{var pe;if(!z&&Nw.includes(xe.key)&&D){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();xe.key==="Escape"?((pe=X.current)==null||pe.blur(),_e({edges:[E]})):Me([e])}};return b.jsx("svg",{style:{zIndex:R},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,E.className,S,{selected:E.selected,animated:E.animated,inactive:!D&&!o,updating:H,selectable:D}]),onClick:F,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ye,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:E.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":q?`${nS}-${w}`:void 0,ref:X,...E.domAttributes,children:[!ee&&b.jsx(T,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:D,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:N,markerEnd:Y,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),M&&b.jsx(aM,{edge:E,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:I,setReconnecting:L})]})})}var sM=V.memo(oM);const uM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function TS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:_,elementsSelectable:z,onError:E}=Ie(uM,dt),A=PA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(JA,{defaultColor:e,rfId:i}),A.map(B=>b.jsx(sM,{id:B,edgesFocusable:S,edgesReconnectable:_,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:E,edgeTypes:l,disableKeyboardA11y:k},B))]})}TS.displayName="EdgeRenderer";const cM=V.memo(TS),fM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function dM({children:e}){const n=Ie(fM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function hM(e){const n=$o(),i=V.useRef(!1);V.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const pM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function mM(e){const n=Ie(pM),i=ht();return V.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function gM(e){return e.connection.inProgress?{...e.connection,to:Go(e.connection.to,e.transform)}:{...e.connection}}function yM(e){return gM}function xM(e){const n=yM();return Ie(n,dt)}const vM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function bM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(vM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",Tw(f)]),children:b.jsx(zS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const zS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=xM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:Tw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case fi.Bezier:[w]=im(k);break;case fi.SimpleBezier:[w]=gS(k);break;case fi.Step:[w]=Cp({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Cp(k);break;default:[w]=Iw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};zS.displayName="ConnectionLine";const wM={};function Hv(e=wM){V.useRef(e),ht(),V.useEffect(()=>{},[e])}function SM(){ht(),V.useRef(!1),V.useEffect(()=>{},[])}function AS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:_,selectionKeyCode:z,selectionOnDrag:E,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:D,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:R,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:N,onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Rt,noPanClassName:wn,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:ge}){return Hv(e),Hv(n),SM(),hM(i),mM(ue),b.jsx(HA,{onPaneClick:Y,onPaneMouseEnter:F,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ye,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:E,selectionMode:A,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Rt,noPanClassName:wn,disableKeyboardA11y:Mn,onViewportChange:ge,isControlledViewport:!!ue,children:b.jsxs(dM,{children:[b.jsx(cM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:D,onEdgeContextMenu:xe,onEdgeMouseEnter:pe,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:R,noPanClassName:wn,disableKeyboardA11y:Mn,rfId:Mr}),b.jsx(bM,{style:k,type:w,component:S,containerStyle:_}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(XA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:D,noPanClassName:wn,noDragClassName:Ut,disableKeyboardA11y:Mn,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}AS.displayName="GraphView";const _M=V.memo(AS),Bv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,_=l??n??[],z=i??e??[],E=m??[0,0],A=p??Ao;Gw(k,S,_);const B=zp(z,v,w,{nodeOrigin:E,nodeExtent:A,zIndexMode:y});let T=[0,0,1];if(u&&o&&s){const q=Vo(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:D,zoom:X}=nm(q,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,D,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:_,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:Ao,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Wl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,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:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Cw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:HT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:kw,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},EM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>Iz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:_,fitViewOptions:z,fitViewResolver:E,width:A,height:B,minZoom:T,maxZoom:q}=w();_&&(await DT({nodes:S,width:A,height:B,panZoom:_,minZoom:T,maxZoom:q},z),E==null||E.resolve(!0),v({fitViewResolver:null}))}return{...Bv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:_,parentLookup:z,nodeOrigin:E,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:T}=w(),q=zp(S,_,z,{nodeOrigin:E,nodeExtent:p,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:T});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:_,edgeLookup:z}=w();Gw(_,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,_)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(_){const{setEdges:z}=w();z(_),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:_,nodeLookup:z,parentLookup:E,domNode:A,nodeOrigin:B,nodeExtent:T,debug:q,fitViewQueued:M,zIndexMode:D}=w(),{changes:X,updatedInternals:H}=lz(S,z,E,A,B,T,D);H&&(tz(z,E,{nodeOrigin:B,nodeExtent:T,zIndexMode:D}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),_==null||_(X)))},updateNodePositions:(S,_=!1)=>{const z=[];let E=[];const{nodeLookup:A,triggerNodeChanges:B,connection:T,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[D,X]of S){const H=A.get(D),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:D,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:_};if(H&&T.inProgress&&T.fromNode.id===H.id){const L=Xi(H,T.fromHandle,we.Left,!0);q({...T,from:L})}I&&H.parentId&&z.push({id:D,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),E.push(ee)}if(z.length>0){const{parentLookup:D,nodeOrigin:X}=w(),H=um(z,A,D,X);E.push(...H)}for(const D of M.values())E=D(E);B(E)},triggerNodeChanges:S=>{const{onNodesChange:_,setNodes:z,nodes:E,hasDefaultNodes:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=lS(S,E);z(T)}B&&console.log("React Flow: trigger node changes",S),_==null||_(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:_,setEdges:z,edges:E,hasDefaultEdges:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=aS(S,E);z(T)}B&&console.log("React Flow: trigger edge changes",S),_==null||_(S)}},addSelectedNodes:S=>{const{multiSelectionActive:_,edgeLookup:z,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(_){const T=S.map(q=>Di(q,!0));A(T);return}A(Yl(E,new Set([...S]),!0)),B(Yl(z))},addSelectedEdges:S=>{const{multiSelectionActive:_,edgeLookup:z,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(_){const T=S.map(q=>Di(q,!0));B(T);return}B(Yl(z,new Set([...S]))),A(Yl(E,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:_}={})=>{const{edges:z,nodes:E,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),q=S||E,M=_||z,D=[];for(const H of q){if(!H.selected)continue;const I=A.get(H.id);I&&(I.selected=!1),D.push(Di(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Di(H.id,!1));B(D),T(X)},setMinZoom:S=>{const{panZoom:_,maxZoom:z}=w();_==null||_.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:_,minZoom:z}=w();_==null||_.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var _;(_=w().panZoom)==null||_.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:_,triggerNodeChanges:z,triggerEdgeChanges:E,elementsSelectable:A}=w();if(!A)return;const B=_.reduce((q,M)=>M.selected?[...q,Di(M.id,!1)]:q,[]),T=S.reduce((q,M)=>M.selected?[...q,Di(M.id,!1)]:q,[]);z(B),E(T)},setNodeExtent:S=>{const{nodes:_,nodeLookup:z,parentLookup:E,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:q}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(zp(_,z,E,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:_,width:z,height:E,panZoom:A,translateExtent:B}=w();return az({delta:S,panZoom:A,transform:_,translateExtent:B,width:z,height:E})},setCenter:async(S,_,z)=>{const{width:E,height:A,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await T.setViewport({x:E/2-S*q,y:A/2-_*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Cw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Bv()})}},Object.is);function NM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=V.useState(()=>EM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(Yz,{value:w,children:b.jsx(dA,{children:v})})}function kM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return V.useContext(xc)?b.jsx(b.Fragment,{children:e}):b.jsx(NM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const CM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function TM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,onNodeMouseEnter:z,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:D,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:R,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:P=fi.Bezier,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Mo.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:ve=Oo()?"Meta":"Control",zoomActivationKeyCode:xe=Oo()?"Meta":"Control",snapToGrid:pe,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Rt=rS,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At=!0,defaultViewport:Mr=nA,minZoom:ue=.5,maxZoom:ge=2,translateExtent:Ne=Ao,preventScrolling:De=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:jn=!0,zoomOnPinch:Dt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:sn=!0,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi=1,nodeClickDistance:Nc=0,children:Qo,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo=10,onNodesChange:es,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:el,fitViewOptions:ts,connectOnClick:Cc,attributionPosition:ns,proOptions:mi,defaultEdgeOptions:fa,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Rr=!1,autoPanOnConnect:Dr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,connectionRadius:is,isValidConnection:ar,onError:Lr,style:Tc,id:da,nodeDragThreshold:ls,connectionDragThreshold:zc,viewport:tl,onViewportChange:nl,width:On,height:Pt,colorMode:as="light",debug:Ac,onScroll:Hr,ariaLabelConfig:os,zIndexMode:gi="basic",...Mc},Ft){const yi=da||"1",ss=aA(as),ha=V.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Mc,onScroll:ha,style:{...Tc,...CM},ref:Ft,className:Tt(["react-flow",o,ss]),id:da,role:"application",children:b.jsxs(kM,{nodes:e,edges:n,width:On,height:Pt,fitView:el,fitViewOptions:ts,minZoom:ue,maxZoom:ge,nodeOrigin:Rt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(_M,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:N,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ye,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:ge,preventScrolling:De,zoomOnScroll:jn,zoomOnPinch:Dt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:sn,onPaneClick:Ec,onPaneMouseEnter:Zi,onPaneMouseMove:Ki,onPaneMouseLeave:Ji,onPaneScroll:ir,onPaneContextMenu:Wi,paneClickDistance:hi,nodeClickDistance:Nc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:sa,onReconnectStart:pi,onReconnectEnd:kc,onEdgeContextMenu:Zo,onEdgeDoubleClick:Ko,onEdgeMouseEnter:Jo,onEdgeMouseMove:ua,onEdgeMouseLeave:ca,reconnectRadius:Wo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Rr,nodeExtent:Ve,viewport:tl,onViewportChange:nl}),b.jsx(lA,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:wn,edgesReconnectable:Mn,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:ge,nodeExtent:Ve,onNodesChange:es,onEdgesChange:$n,snapToGrid:pe,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Cc,defaultEdgeOptions:fa,fitView:el,fitViewOptions:ts,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:D,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:R,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:lr,nodeOrigin:Rt,rfId:yi,autoPanOnConnect:Dr,autoPanOnNodeDrag:bt,autoPanSpeed:rs,onError:Lr,connectionRadius:is,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:ls,connectionDragThreshold:zc,onBeforeDelete:j,debug:Ac,ariaLabelConfig:os,zIndexMode:gi}),b.jsx(tA,{onSelectionChange:ee}),Qo,b.jsx(Zz,{proOptions:mi,position:ns}),b.jsx(Qz,{rfId:yi,disableKeyboardA11y:Rr})]})})}var zM=oS(TM);const AM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function MM({children:e}){const n=Ie(AM);return n?Vz.createPortal(e,n):null}function jM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>lS(o,s)),[]);return[n,i,l]}function OM(e){const[n,i]=V.useState(e),l=V.useCallback(o=>i(s=>aS(o,s)),[]);return[n,i,l]}function RM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function DM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const LM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},HM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function MS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=V.useRef(null),{transform:y,patternId:v}=Ie(HM,dt),w=l||LM[n],k=n===Tr.Dots,S=n===Tr.Cross,_=Array.isArray(i)?i:[i,i],z=[_[0]*y[2]||1,_[1]*y[2]||1],E=w*y[2],A=Array.isArray(s)?s:[s,s],B=S?[E,E]:z,T=[A[0]*y[2]||1+B[0]/2,A[1]*y[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...bc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:y[0]%z[0],y:y[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:k?b.jsx(DM,{radius:E/2,className:m}):b.jsx(RM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}MS.displayName="Background";const BM=V.memo(MS);function qM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function UM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function IM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.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 VM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 YM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.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 Mu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const GM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function jS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:_,ariaLabelConfig:z}=Ie(GM,dt),{zoomIn:E,zoomOut:A,fitView:B}=$o(),T=()=>{E(),s==null||s()},q=()=>{A(),u==null||u()},M=()=>{B(o),f==null||f()},D=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(vc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Mu,{onClick:T,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:_,children:b.jsx(qM,{})}),b.jsx(Mu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(UM,{})})]}),i&&b.jsx(Mu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(IM,{})}),l&&b.jsx(Mu,{className:"react-flow__controls-interactive",onClick:D,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(YM,{}):b.jsx(VM,{})}),m]})}jS.displayName="Controls";const $M=V.memo(jS);function XM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?_=>v(_,e):void 0})}const PM=V.memo(XM),FM=e=>e.nodes.map(n=>n.id),ah=e=>e instanceof Function?e:()=>e;function QM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=PM,onClick:u}){const f=Ie(FM,dt),d=ah(n),h=ah(e),m=ah(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(KM,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function ZM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:_,y:z}=k.internals.positionAbsolute,{width:E,height:A}=Ar(S);return{node:S,x:_,y:z,width:E,height:A}},dt);return!h||h.hidden||!Rw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const KM=V.memo(ZM);var JM=V.memo(QM);const WM=200,ej=150,tj=e=>!e.hidden,nj=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Ow(Vo(e.nodeLookup,{filter:tj}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},rj="react-flow__minimap-desc";function OS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:_,inversePan:z,zoomStep:E=1,offsetScale:A=5}){const B=ht(),T=V.useRef(null),{boundingRect:q,viewBB:M,rfId:D,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(nj,dt),G=(e==null?void 0:e.width)??WM,R=(e==null?void 0:e.height)??ej,$=q.width/G,Z=q.height/R,J=Math.max($,Z),j=J*G,U=J*R,P=A*J,N=q.x-(j-q.width)/2-P,Y=q.y-(U-q.height)/2-P,F=j+P*2,K=U+P*2,ne=`${rj}-${D}`,re=V.useRef(0),se=V.useRef();re.current=J,V.useEffect(()=>{if(T.current&&X)return se.current=mz({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[X]),V.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:E,zoomable:S})},[k,S,z,E,H,I,ee]);const ye=v?pe=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(pe))||[0,0];v(pe,{x:_e,y:Me})}:void 0,ve=w?V.useCallback((pe,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(pe,Me)},[]):void 0,xe=_??L["minimap.ariaLabel"];return b.jsx(vc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J: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 u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:R,viewBox:`${N} ${Y} ${F} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ye,children:[xe&&b.jsx("title",{id:ne,children:xe}),b.jsx(JM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-P},${Y-P}h${F+P*2}v${K+P*2}h${-F-P*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}OS.displayName="MiniMap";const ij=V.memo(OS),lj=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,aj={[ra.Line]:"right",[ra.Handle]:"bottom-right"};function oj({nodeId:e,position:n,variant:i=ra.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:_}){const z=fS(),E=typeof e=="string"?e:z,A=ht(),B=V.useRef(null),T=i===ra.Handle,q=Ie(V.useCallback(lj(T&&v),[T,v]),dt),M=V.useRef(null),D=n??aj[i];V.useEffect(()=>{if(!(!B.current||!E))return M.current||(M.current=zz({domNode:B.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:R}=A.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:R}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:R}=A.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(E);if(J&&J.expandParent&&J.parentId){const j=J.origin??R,U=H.width??J.measured.width??0,P=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:P,...Dw({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:P},J.parentId,L,j)}},Y=um([N],L,G,R);$.push(...Y),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*P,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:E,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:E,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:E,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};A.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:D,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:k,onResize:S,onResizeEnd:_,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[D,f,d,h,m,p,k,S,_,w]);const X=D.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}V.memo(oj);var oh,qv;function fm(){if(qv)return oh;qv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,y.edge(k))});var v={};function w(k){var S=y.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,k){return v.length>1?y.setEdge(w,k,p):y.setEdge(w,k),k}),this}setEdge(){var m,p,y,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,y=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var _=f(this._isDirected,m,p,y);return m=_.v,p=_.w,Object.freeze(_),this._edgeObjs[S]=_,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=_,this._out[m][S]=_,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return oh=l,oh}var sh,Uv;function sj(){return Uv||(Uv=1,sh="2.2.4"),sh}var uh,Iv;function uj(){return Iv||(Iv=1,uh={Graph:fm(),version:sj()}),uh}var ch,Vv;function cj(){if(Vv)return ch;Vv=1;var e=fm();ch={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return ch}var fh,Yv;function fj(){if(Yv)return fh;Yv=1,fh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return fh}var dh,Gv;function RS(){if(Gv)return dh;Gv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),_=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);_0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return hh}var ph,Xv;function dj(){if(Xv)return ph;Xv=1;var e=DS();ph=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return ph}var mh,Pv;function LS(){if(Pv)return mh;Pv=1,mh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return mh}var gh,Fv;function hj(){if(Fv)return gh;Fv=1;var e=LS();gh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return gh}var yh,Qv;function pj(){if(Qv)return yh;Qv=1,yh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],k=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return bh}var wh,Wv;function gj(){if(Wv)return wh;Wv=1;var e=BS();wh=n;function n(i,l){return e(i,l,"post")}return wh}var Sh,e1;function yj(){if(e1)return Sh;e1=1;var e=BS();Sh=n;function n(i,l){return e(i,l,"pre")}return Sh}var _h,t1;function xj(){if(t1)return _h;t1=1;var e=fm(),n=RS();_h=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return _h}var Eh,n1;function vj(){return n1||(n1=1,Eh={components:fj(),dijkstra:DS(),dijkstraAll:dj(),findCycles:hj(),floydWarshall:pj(),isAcyclic:mj(),postorder:gj(),preorder:yj(),prim:xj(),tarjan:LS(),topsort:HS()}),Eh}var Nh,r1;function Vn(){if(r1)return Nh;r1=1;var e=uj();return Nh={Graph:e.Graph,json:cj(),alg:vj(),version:e.version},Nh}var kh,i1;function bj(){if(i1)return kh;i1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return kh=e,kh}var Ch,l1;function wj(){if(l1)return Ch;l1=1;let e=Vn().Graph,n=bj();Ch=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){y=y.concat(s(h,m,p,k,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(k=>{let S=h.edge(k),_=h.node(k.v);v&&w.push({v:k.v,w:k.w}),_.out-=S,f(m,p,_)}),h.outEdges(y.v).forEach(k=>{let S=h.edge(k),_=k.w,z=h.node(_);z.in-=S,f(m,p,z)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let _=p.edge(S.v,S.w)||0,z=m(S),E=_+z;p.setEdge(S.v,S.w,E),v=Math.max(v,p.node(S.v).out+=z),y=Math.max(y,p.node(S.w).in+=z)});let w=d(v+y+3).map(()=>new n),k=y+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pD.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=D.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);D.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),D}function l(M){let D=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||D.setNode(X,M.node(X))}),M.edges().forEach(X=>{D.setEdge(X,M.edge(X))}),D}function o(M){let D=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),D)}function s(M){let D=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),D)}function u(M,D){let X=M.x,H=M.y,I=D.x-X,ee=D.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let R,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),R=G*I/ee,$=G):(I<0&&(L=-L),R=L,$=L*ee/I),{x:X+R,y:H+$}}function f(M){let D=A(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(D[I][H.order]=X)}),D}function d(M){let D=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,D);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let D=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,D),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(R=>M.node(R).rank+=I)})}function m(M,D,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,D)}function p(M,D=y){const X=[];for(let H=0;Hy){const X=p(D);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,D)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,D){let X={lhs:[],rhs:[]};return M.forEach(H=>{D(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,D){let X=Date.now();try{return D()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function _(M,D){return D()}let z=0;function E(M){var D=++z;return M+(""+D)}function A(M,D,X=1){D==null&&(D=M,M=0);let H=ee=>eeDH[D]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,D){return M.reduce((X,H,I)=>(X[H]=D[I],X),{})}return Th}var zh,o1;function Sj(){if(o1)return zh;o1=1;let e=wj(),n=Ct().uniqueId;zh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return zh}var Ah,s1;function _j(){if(s1)return Ah;s1=1;let e=Ct();Ah={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ah}var Mh,u1;function rc(){if(u1)return Mh;u1=1;const{applyWithChunking:e}=Ct();Mh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Mh}var jh,c1;function qS(){if(c1)return jh;c1=1;var e=Vn().Graph,n=rc().slack;jh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return jh}var Oh,f1;function Ej(){if(f1)return Oh;f1=1;var e=qS(),n=rc().slack,i=rc().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Oh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var E=e(z);m(E),f(E,z);for(var A,B;A=y(E);)B=v(E,z,A),w(E,z,A,B)}function f(z,E){var A=o(z,z.nodes());A=A.slice(0,A.length-1),A.forEach(B=>d(z,E,B))}function d(z,E,A){var B=z.node(A),T=B.parent;z.edge(A,T).cutvalue=h(z,E,A)}function h(z,E,A){var B=z.node(A),T=B.parent,q=!0,M=E.edge(A,T),D=0;return M||(q=!1,M=E.edge(T,A)),D=M.weight,E.nodeEdges(A).forEach(X=>{var H=X.v===A,I=H?X.w:X.v;if(I!==T){var ee=H===q,L=E.edge(X).weight;if(D+=ee?L:-L,S(z,A,I)){var G=z.edge(A,I).cutvalue;D+=ee?-G:G}}}),D}function m(z,E){arguments.length<2&&(E=z.nodes()[0]),p(z,{},1,E)}function p(z,E,A,B,T){var q=A,M=z.node(B);return E[B]=!0,z.neighbors(B).forEach(D=>{Object.hasOwn(E,D)||(A=p(z,E,A,D,B))}),M.low=q,M.lim=A++,T?M.parent=T:delete M.parent,A}function y(z){return z.edges().find(E=>z.edge(E).cutvalue<0)}function v(z,E,A){var B=A.v,T=A.w;E.hasEdge(B,T)||(B=A.w,T=A.v);var q=z.node(B),M=z.node(T),D=q,X=!1;q.lim>M.lim&&(D=M,X=!0);var H=E.edges().filter(I=>X===_(z,z.node(I.v),D)&&X!==_(z,z.node(I.w),D));return H.reduce((I,ee)=>n(E,ee)!E.node(T).parent),B=l(z,A);B=B.slice(1),B.forEach(T=>{var q=z.node(T).parent,M=E.edge(T,q),D=!1;M||(M=E.edge(q,T),D=!0),E.node(T).rank=E.node(q).rank+(D?M.minlen:-M.minlen)})}function S(z,E,A){return z.hasEdge(E,A)}function _(z,E,A){return A.low<=E.lim&&E.lim<=A.lim}return Oh}var Rh,d1;function Nj(){if(d1)return Rh;d1=1;var e=rc(),n=e.longestPath,i=qS(),l=Ej();Rh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Rh}var Dh,h1;function kj(){if(h1)return Dh;h1=1,Dh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Dh}var Lh,p1;function Cj(){if(p1)return Lh;p1=1;let e=Ct();Lh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(k,y),S.borderBottom=k,v.forEach(_=>{i(u,f,d,h,m,p,_);let z=u.node(_),E=z.borderTop?z.borderTop:_,A=z.borderBottom?z.borderBottom:_,B=z.borderTop?h:2*h,T=E!==A?1:m-p[y]+1;u.setEdge(w,E,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(A,k,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Lh}var Hh,m1;function Tj(){if(m1)return Hh;m1=1;let e=Ct();Hh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Bh}var qh,y1;function Aj(){if(y1)return qh;y1=1;let e=Ct();qh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return qh}var Uh,x1;function Mj(){if(x1)return Uh;x1=1;let e=Ct().zipObject;Uh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Uh}var Ih,v1;function jj(){if(v1)return Ih;v1=1,Ih=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Ih}var Vh,b1;function Oj(){if(b1)return Vh;b1=1;let e=Ct();Vh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Vh}var Yh,w1;function Rj(){if(w1)return Yh;w1=1;let e=Ct();Yh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Yh}var Gh,S1;function Dj(){if(S1)return Gh;S1=1;let e=jj(),n=Oj(),i=Rj();Gh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(z=>z!==y&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let E=l(u,z.v,d,h);w[z.v]=E,Object.hasOwn(E,"barycenter")&&s(z,E)}});let S=n(k,d);o(S,w);let _=i(S,h);if(y&&(_.vs=[y,_.vs,v].flat(!0),u.predecessors(y).length)){let z=u.node(u.predecessors(y)[0]),E=u.node(u.predecessors(v)[0]);Object.hasOwn(_,"barycenter")||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+z.order+E.order)/(_.weight+2),_.weight+=2}return _}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Gh}var $h,_1;function Lj(){if(_1)return $h;_1=1;let e=Vn().Graph,n=Ct();$h=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return $h}var Xh,E1;function Hj(){if(E1)return Xh;E1=1,Xh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Xh}var Ph,N1;function Bj(){if(N1)return Ph;N1=1;let e=Aj(),n=Mj(),i=Dj(),l=Lj(),o=Hj(),s=Vn().Graph,u=Ct();Ph=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let _=Number.POSITIVE_INFINITY,z;for(let E=0,A=0;A<4;++E,++A){h(E%2?w:k,E%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B<_&&(A=0,z=Object.assign({},S),_=B)}m(p,z)}function d(p,y,v){const w=new Map,k=(S,_)=>{w.has(S)||w.set(S,[]),w.get(S).push(_)};for(const S of p.nodes()){const _=p.node(S);if(typeof _.rank=="number"&&k(_.rank,S),typeof _.minRank=="number"&&typeof _.maxRank=="number")for(let z=_.minRank;z<=_.maxRank;z++)z!==_.rank&&k(z,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,y);S.vs.forEach((_,z)=>w.node(_).order=z),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Ph}var Fh,k1;function qj(){if(k1)return Fh;k1=1;let e=Vn().Graph,n=Ct();Fh={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,_){let z={};function E(A,B){let T=0,q=0,M=A.length,D=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===D)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let R=S.node(G),$=R.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderD)&&s(z,I,X)})})}function A(B,T){let q=-1,M,D=0;return T.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,E(T,D,H,q,M),D=H,q=M)}E(T,D,T.length,M,B.length)}),T}return _.length&&_.reduce(A),z}function o(S,_){if(S.node(_).dummy)return S.predecessors(_).find(z=>S.node(z).dummy)}function s(S,_,z){if(_>z){let A=_;_=z,z=A}let E=S[_];E||(S[_]=E={}),E[z]=!0}function u(S,_,z){if(_>z){let E=_;_=z,z=E}return!!S[_]&&Object.hasOwn(S[_],z)}function f(S,_,z,E){let A={},B={},T={};return _.forEach(q=>{q.forEach((M,D)=>{A[M]=M,B[M]=M,T[M]=D})}),_.forEach(q=>{let M=-1;q.forEach(D=>{let X=E(D);if(X.length){X=X.sort((I,ee)=>T[I]-T[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[D]===D&&MMath.max(I,B[ee.v]+T.edge(ee)),0)}function X(H){let I=T.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-T.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(D,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(E).forEach(H=>B[H]=B[z[H]]),B}function h(S,_,z,E){let A=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,E);return _.forEach(q=>{let M;q.forEach(D=>{let X=z[D];if(A.setNode(X),M){var H=z[M],I=A.edge(H,X);A.setEdge(H,X,Math.max(T(S,D,M),I||0))}M=D})}),A}function m(S,_){return Object.values(_).reduce((z,E)=>{let A=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([q,M])=>{let D=k(S,q)/2;A=Math.max(M+D,A),B=Math.min(M-D,B)});const T=A-B;return T{["l","r"].forEach(T=>{let q=B+T,M=S[q];if(M===_)return;let D=Object.values(M),X=E-n.applyWithChunking(Math.min,D);T!=="l"&&(X=A-n.applyWithChunking(Math.max,D)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function y(S,_){return n.mapValues(S.ul,(z,E)=>{if(_)return S[_.toLowerCase()][E];{let A=Object.values(S).map(B=>B[E]).sort((B,T)=>B-T);return(A[1]+A[2])/2}})}function v(S){let _=n.buildLayerMatrix(S),z=Object.assign(i(S,_),l(S,_)),E={},A;["u","d"].forEach(T=>{A=T==="u"?_:Object.values(_).reverse(),["l","r"].forEach(q=>{q==="r"&&(A=A.map(H=>Object.values(H).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),D=f(S,A,z,M),X=d(S,A,D.root,D.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),E[T+q]=X})});let B=m(S,E);return p(E,B),y(E,S.graph().align)}function w(S,_,z){return(E,A,B)=>{let T=E.node(A),q=E.node(B),M=0,D;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":D=-T.width/2;break;case"r":D=T.width/2;break}if(D&&(M+=z?D:-D),D=0,M+=(T.dummy?_:S)/2,M+=(q.dummy?_:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":D=q.width/2;break;case"r":D=-q.width/2;break}return D&&(M+=z?D:-D),D=0,M}}function k(S,_){return S.node(_).width}return Fh}var Qh,C1;function Uj(){if(C1)return Qh;C1=1;let e=Ct(),n=qj().positionX;Qh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Qh}var Zh,T1;function Ij(){if(T1)return Zh;T1=1;let e=Sj(),n=_j(),i=Nj(),l=Ct().normalizeRanks,o=kj(),s=Ct().removeEmptyRanks,u=Cj(),f=Tj(),d=zj(),h=Bj(),m=Uj(),p=Ct(),y=Vn().Graph;Zh=v;function v(N,Y){let F=Y&&Y.debugTiming?p.time:p.notime;F("layout",()=>{let K=F(" buildLayoutGraph",()=>M(N));F(" runLayout",()=>w(K,F,Y)),F(" updateInputGraph",()=>k(N,K))})}function w(N,Y,F){Y(" makeSpaceForEdgeLabels",()=>D(N)),Y(" removeSelfEdges",()=>Z(N)),Y(" acyclic",()=>e.run(N)),Y(" nestingGraph.run",()=>u.run(N)),Y(" rank",()=>i(p.asNonCompoundGraph(N))),Y(" injectEdgeLabelProxies",()=>X(N)),Y(" removeEmptyRanks",()=>s(N)),Y(" nestingGraph.cleanup",()=>u.cleanup(N)),Y(" normalizeRanks",()=>l(N)),Y(" assignRankMinMax",()=>H(N)),Y(" removeEdgeLabelProxies",()=>I(N)),Y(" normalize.run",()=>n.run(N)),Y(" parentDummyChains",()=>o(N)),Y(" addBorderSegments",()=>f(N)),Y(" order",()=>h(N,F)),Y(" insertSelfEdges",()=>J(N)),Y(" adjustCoordinateSystem",()=>d.adjust(N)),Y(" position",()=>m(N)),Y(" positionSelfEdges",()=>j(N)),Y(" removeBorderNodes",()=>$(N)),Y(" normalize.undo",()=>n.undo(N)),Y(" fixupEdgeLabelCoords",()=>G(N)),Y(" undoCoordinateSystem",()=>d.undo(N)),Y(" translateGraph",()=>ee(N)),Y(" assignNodeIntersects",()=>L(N)),Y(" reversePoints",()=>R(N)),Y(" acyclic.undo",()=>e.undo(N))}function k(N,Y){N.nodes().forEach(F=>{let K=N.node(F),ne=Y.node(F);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,Y.children(F).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(F=>{let K=N.edge(F),ne=Y.edge(F);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=Y.graph().width,N.graph().height=Y.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],_={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],E=["width","height","rank"],A={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let Y=new y({multigraph:!0,compound:!0}),F=P(N.graph());return Y.setGraph(Object.assign({},_,U(F,S),p.pick(F,z))),N.nodes().forEach(K=>{let ne=P(N.node(K));const re=U(ne,E);Object.keys(A).forEach(se=>{re[se]===void 0&&(re[se]=A[se])}),Y.setNode(K,re),Y.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=P(N.edge(K));Y.setEdge(K,Object.assign({},T,U(ne,B),p.pick(ne,q)))}),Y}function D(N){let Y=N.graph();Y.ranksep/=2,N.edges().forEach(F=>{let K=N.edge(F);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(F.width&&F.height){let K=N.node(Y.v),re={rank:(N.node(Y.w).rank-K.rank)/2+K.rank,e:Y};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let Y=0;N.nodes().forEach(F=>{let K=N.node(F);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,Y=Math.max(Y,K.maxRank))}),N.graph().maxRank=Y}function I(N){N.nodes().forEach(Y=>{let F=N.node(Y);F.dummy==="edge-proxy"&&(N.edge(F.e).labelRank=F.rank,N.removeNode(Y))})}function ee(N){let Y=Number.POSITIVE_INFINITY,F=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ye=re.marginy||0;function ve(xe){let pe=xe.x,_e=xe.y,Me=xe.width,Ce=xe.height;Y=Math.min(Y,pe-Me/2),F=Math.max(F,pe+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(xe=>ve(N.node(xe))),N.edges().forEach(xe=>{let pe=N.edge(xe);Object.hasOwn(pe,"x")&&ve(pe)}),Y-=se,K-=ye,N.nodes().forEach(xe=>{let pe=N.node(xe);pe.x-=Y,pe.y-=K}),N.edges().forEach(xe=>{let pe=N.edge(xe);pe.points.forEach(_e=>{_e.x-=Y,_e.y-=K}),Object.hasOwn(pe,"x")&&(pe.x-=Y),Object.hasOwn(pe,"y")&&(pe.y-=K)}),re.width=F-Y+se,re.height=ne-K+ye}function L(N){N.edges().forEach(Y=>{let F=N.edge(Y),K=N.node(Y.v),ne=N.node(Y.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=K),F.points.unshift(p.intersectRect(K,re)),F.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(Y=>{let F=N.edge(Y);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function R(N){N.edges().forEach(Y=>{let F=N.edge(Y);F.reversed&&F.points.reverse()})}function $(N){N.nodes().forEach(Y=>{if(N.children(Y).length){let F=N.node(Y),K=N.node(F.borderTop),ne=N.node(F.borderBottom),re=N.node(F.borderLeft[F.borderLeft.length-1]),se=N.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-K.y),F.x=re.x+F.width/2,F.y=K.y+F.height/2}}),N.nodes().forEach(Y=>{N.node(Y).dummy==="border"&&N.removeNode(Y)})}function Z(N){N.edges().forEach(Y=>{if(Y.v===Y.w){var F=N.node(Y.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:Y,label:N.edge(Y)}),N.removeEdge(Y)}})}function J(N){var Y=p.buildLayerMatrix(N);Y.forEach(F=>{var K=0;F.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ye=>{p.addDummyNode(N,"selfedge",{width:ye.label.width,height:ye.label.height,rank:se.rank,order:re+ ++K,e:ye.e,label:ye.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(Y=>{var F=N.node(Y);if(F.dummy==="selfedge"){var K=N.node(F.e.v),ne=K.x+K.width/2,re=K.y,se=F.x-ne,ye=K.height/2;N.setEdge(F.e,F.label),N.removeNode(Y),F.label.points=[{x:ne+2*se/3,y:re-ye},{x:ne+5*se/6,y:re-ye},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ye},{x:ne+2*se/3,y:re+ye}],F.label.x=F.x,F.label.y=F.y}})}function U(N,Y){return p.mapValues(p.pick(N,Y),Number)}function P(N){var Y={};return N&&Object.entries(N).forEach(([F,K])=>{typeof F=="string"&&(F=F.toLowerCase()),Y[F]=K}),Y}return Zh}var Kh,z1;function Vj(){if(z1)return Kh;z1=1;let e=Ct(),n=Vn().Graph;Kh={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Kh}var Jh,A1;function Yj(){return A1||(A1=1,Jh="1.1.8"),Jh}var Wh,M1;function Gj(){return M1||(M1=1,Wh={graphlib:Vn(),layout:Ij(),debug:Vj(),util:{time:Ct().time,notime:Ct().notime},version:Yj()}),Wh}var $j=Gj();const j1=Lo($j),yo=200,Gl=56,O1=20,R1=40,Xj=20,D1=12;function Pj(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=yo+O1*2,_=R1+k*Gl+(k-1)*D1+Xj;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:_}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return Fj(f,d),{nodes:f,edges:d}}function Fj(e,n){var l,o,s,u;const i=new j1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||yo,m=d&&((o=f.style)==null?void 0:o.height)||Gl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);j1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||yo,p=h&&((u=f.style)==null?void 0:u.height)||Gl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"},Qj=70,L1=90;function dm({data:e,children:n}){const[i,l]=V.useState(!1),o=V.useRef(null),s=V.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=V.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ln(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Zl(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const Zj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.elapsed}),h=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.model}),m=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.tokens}),p=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.input_tokens}),y=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.output_tokens}),v=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.cost_usd}),w=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.iteration}),k=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_type}),S=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_message}),_=he(B=>{var T;return(T=B.nodes[i])==null?void 0:T.context_pct}),z=Kj(i,u),E=Jj(u),A=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:z,className:"text-[var(--text-muted)]"};if(u==="completed"){const B=[];return d!=null&&B.push(ln(d)),m!=null&&B.push(`${Wn(m)} tok`),v!=null&&B.push(Zl(v)),{text:B.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",E),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(G2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),A.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",A.className),children:A.text})]}),_!=null&&b.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-b-lg overflow-hidden",style:{backgroundColor:"rgba(255,255,255,0.06)"},children:b.jsx("div",{className:Ye("h-full transition-all duration-500",_>=L1?"animate-[context-pulse_2s_ease-in-out_infinite]":""),style:{width:`${Math.min(_,100)}%`,backgroundColor:_>=L1?"#ef4444":_>=Qj?"#f59e0b":"#22c55e"}})})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Kj(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function Jj(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Wj=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),y=e4(i,u),v=t4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(ln(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(oN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function e4(e,n){const i=he(d=>{var h;return(h=d.nodes[e])==null?void 0:h.startedAt}),l=he(d=>d.replayMode),o=he(d=>d.lastEventTime),[s,u]=V.useState("0.0s"),f=V.useRef(null);return V.useEffect(()=>{if(n==="running"){if(l){f.current&&clearInterval(f.current);const m=i??o??0;u(ln((o??m)-m));return}const d=i!=null?i*1e3:Date.now(),h=()=>{const m=(Date.now()-d)/1e3;u(ln(m))};return h(),f.current=setInterval(h,1e3),()=>{f.current&&clearInterval(f.current)}}else f.current&&clearInterval(f.current)},[n,i,l,o]),s}function t4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const n4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=he(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=r4(u);return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(dm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(aN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function r4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const i4=V.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?rN:W2,f=o.progress,h=he(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=l4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function l4(e){const n=V.useRef(e),[i,l]=V.useState("");return V.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const a4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(an,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(Tb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),o4=V.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Vp,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(an,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),s4=V.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=he(D=>D.highlightedEdges),y=V.useMemo(()=>p.find(D=>D.from===d&&D.to===h),[p,d,h]),[v,w,k]=im({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,_=!!S,z=(y==null?void 0:y.state)==="taken",E=(y==null?void 0:y.state)==="highlighted",A=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",T=2,q;A?(B="var(--failed)",T=3):z?(B="var(--edge-taken)",T=3):E&&(B="var(--edge-active)",T=3),_&&!z&&!E&&!A&&(q="6 3");const M=A?"failed":z?"taken":E?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(Xo,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),_&&b.jsx(MM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:A?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:A||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${A?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),A&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function u4(){const e=he(u=>u.workflowStatus),n=he(u=>u.workflowFailure),i=he(u=>u.workflowFailedAgent),l=he(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(sN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(Z2,{className:"w-3 h-3"}),"View"]})]})})}function c4(){const[e,n]=V.useState(!1),i=he(d=>d.workflowStatus),l=he(d=>d.totalCost),o=he(d=>d.totalTokens),s=he(d=>d.agentsCompleted),u=he(d=>d.agentsTotal),f=Ab();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(X2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Zl(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(Bo,{className:"w-3.5 h-3.5"})})]})})}const f4={agentNode:Zj,scriptNode:Wj,gateNode:n4,groupNode:i4,endNode:a4,startNode:o4},d4={animatedEdge:s4},h4={type:"animatedEdge"};function p4(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function m4(){const e=he(M=>M.agents),n=he(M=>M.routes),i=he(M=>M.parallelGroups),l=he(M=>M.forEachGroups),o=he(M=>M.nodes),s=he(M=>M.groupProgress),u=he(M=>M.selectNode),f=he(M=>M.selectedNode),d=he(M=>M.workflowStatus),h=he(M=>M.entryPoint),m=he(M=>M.wsStatus),p=he(M=>M.workflowFailedAgent),[y,v,w]=jM([]),[k,S,_]=OM([]),z=V.useRef(!1);V.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:D}=Pj(e,n,i,l,o,s,h);v(M),S(D)},[e,n,i,l,o,s,h,v,S]),V.useEffect(()=>{z.current&&v(M=>M.map(D=>{const X=o[D.id];if(!X)return D;const H=X.status||"pending",I=D.data.status;if(H!==I){const ee={...D.data,status:H};return D.data.groupName&&s[D.data.groupName]&&(ee.progress=s[D.data.groupName]),{...D,data:ee}}if(D.data.groupName&&s[D.data.groupName]){const ee=D.data.progress,L=s[D.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...D,data:{...D.data,progress:L}}}return D}))},[o,s,v]);const E=V.useCallback((M,D)=>{D.type==="groupNode"&&D.data.type!=="for_each_group"||u(D.id)},[u]),A=V.useCallback(()=>{u(null)},[u]),B=V.useCallback(M=>{var X;const D=((X=M.data)==null?void 0:X.status)||"pending";return lt[D]||lt.pending},[]);V.useEffect(()=>{v(M=>M.map(D=>({...D,selected:D.id===f})))},[f,v]),V.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(p4,{}),b.jsx(u4,{}),b.jsx(c4,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(fN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(_o,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(zM,{nodes:y,edges:k,onNodesChange:w,onEdgesChange:_,onNodeClick:E,onPaneClick:A,nodeTypes:f4,edgeTypes:d4,defaultEdgeOptions:h4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(BM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(ij,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx($M,{showInteractive:!1,children:b.jsx(g4,{})}),b.jsx(y4,{})]})]})}function g4(){const{fitView:e}=$o(),n=V.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(tN,{className:"w-3.5 h-3.5"})})}function y4(){const{fitView:e}=$o();return V.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function la({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function US(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:ln(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Zl(e.cost_usd)}),e.context_window_used!=null&&e.context_window_max!=null&&n.push({label:"Context",value:bN(e.context_window_used,e.context_window_max)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Pi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=V.useState(i),[u,f]=V.useState(!1),d=zb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Cb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(x4,{text:d}):d})]})}function x4({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function hm({activity:e,defaultExpanded:n=!0}){const[i,l]=V.useState(n),o=V.useRef(null);return V.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(v4,{entry:s},u))})]})}function v4({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function b4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(H1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(la,{items:US(e)}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(hm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(H1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function H1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=V.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(Fi,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:w4(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(la,{items:US(i)}),i.prompt&&b.jsx(Pi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(hm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Pi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function w4(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function S4({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:ln(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` --- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(la,{items:l}),o&&b.jsx(Pi,{output:o,title:"Output"})]})}function b4(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const w4=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,S4=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,_4={};function H1(e,n){return(_4.jsx?S4:w4).test(e)}const E4=/[ \t\n\f\r]/g;function N4(e){return typeof e=="object"?e.type==="text"?B1(e.value):!1:B1(e)}function B1(e){return e.replace(E4,"")===""}class Po{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Po.prototype.normal={};Po.prototype.property={};Po.prototype.space=void 0;function US(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Po(i,l,n)}function jp(e){return e.toLowerCase()}class on{constructor(n,i){this.attribute=i,this.property=n}}on.prototype.attribute="";on.prototype.booleanish=!1;on.prototype.boolean=!1;on.prototype.commaOrSpaceSeparated=!1;on.prototype.commaSeparated=!1;on.prototype.defined=!1;on.prototype.mustUseProperty=!1;on.prototype.number=!1;on.prototype.overloadedBoolean=!1;on.prototype.property="";on.prototype.spaceSeparated=!1;on.prototype.space=void 0;let k4=0;const Oe=Qi(),kt=Qi(),Op=Qi(),me=Qi(),at=Qi(),Fl=Qi(),gn=Qi();function Qi(){return 2**++k4}const Dp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:gn,commaSeparated:Fl,number:me,overloadedBoolean:Op,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),ep=Object.keys(Dp);class pm extends on{constructor(n,i,l,o){let s=-1;if(super(n,i),q1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&M4.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(U1,D4);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!U1.test(s)){let u=s.replace(A4,O4);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function O4(e){return"-"+e.toLowerCase()}function D4(e){return e.charAt(1).toUpperCase()}const R4=US([IS,C4,GS,$S,XS],"html"),mm=US([IS,T4,GS,$S,XS],"svg");function L4(e){return e.join(" ").trim()}var Hl={},tp,I1;function H4(){if(I1)return tp;I1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function T(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new A(L),R(),G}}function A(L){this.start=L,this.end={line:z,column:_},this.source=E.source}A.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return T(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,T(D),S=S.slice(G),_+=2,L({type:y,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var V1;function B4(){if(V1)return Hl;V1=1;var e=Hl&&Hl.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Hl,"__esModule",{value:!0}),Hl.default=i;const n=e(H4());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Hl}var oo={},Y1;function q4(){if(Y1)return oo;Y1=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return oo.camelCase=d,oo}var so,G1;function U4(){if(G1)return so;G1=1;var e=so&&so.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(B4()),i=q4();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,so=l,so}var I4=U4();const V4=Lo(I4),PS=FS("end"),gm=FS("start");function FS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function Y4(e){const n=gm(e),i=PS(e);if(n&&i)return{start:n,end:i}}function bo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?$1(e.position):"start"in e||"end"in e?$1(e):"line"in e||"column"in e?Rp(e):""}function Rp(e){return X1(e&&e.line)+":"+X1(e&&e.column)}function $1(e){return Rp(e&&e.start)+"-"+Rp(e&&e.end)}function X1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=bo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,G4=new Map,$4=/[A-Z]/g,X4=new Set(["table","tbody","thead","tfoot","tr"]),P4=new Set(["td","th"]),QS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function F4(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=n5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=t5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:R4,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=ZS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function ZS(e,n,i){if(n.type==="element")return Q4(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Z4(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return J4(e,n,i);if(n.type==="mdxjsEsm")return K4(e,n);if(n.type==="root")return W4(e,n,i);if(n.type==="text")return e5(e,n)}function Q4(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=JS(e,n.tagName,!1),u=r5(e,n);let f=vm(e,n);return X4.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!N4(d):!0})),KS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Z4(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Ro(e,n.position)}function K4(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Ro(e,n.position)}function J4(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:JS(e,n.name,!0),u=i5(e,n),f=vm(e,n);return KS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function W4(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function e5(e,n){return n.value}function KS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function t5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function n5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function r5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=l5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&P4.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function i5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Ro(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Ro(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:G4;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const Q1={}.hasOwnProperty;function h5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Ql(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),g5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),y5=di(/[\dA-Fa-f]/),x5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const v5=di(new RegExp("\\p{P}|\\p{S}","u")),b5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function oa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),A=q;A_;){const B=i[T];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function N5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function K1(e){if(e===null||rn(e)||b5(e))return 1;if(v5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};J1(p,-d),J1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(A)?ot(e,z,"linePrefix",s+1)(A):z(A)}function z(A){return A===null||Te(A)?e.check(W1,k,T)(A):(e.enter("codeFlowValue"),_(A))}function _(A){return A===null||Te(A)?(e.exit("codeFlowValue"),z(A)):(e.consume(A),_)}function T(A){return e.exit("codeFenced"),n(A)}function B(A,q,M){let R=0;return X;function X(G){return A.enter("lineEnding"),A.consume(G),A.exit("lineEnding"),H}function H(G){return A.enter("codeFencedFence"),Qe(G)?ot(A,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(A.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,A.consume(G),ee):R>=u?(A.exit("codeFencedFenceSequence"),Qe(G)?ot(A,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(A.exit("codeFencedFence"),q(G)):M(G)}}}function H5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:q5},B5={partial:!0,tokenize:U5};function q5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(B5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function U5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const I5={name:"codeText",previous:Y5,resolve:V5,tokenize:G5};function V5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&uo(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),uo(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),uo(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function l_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Lp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function o_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function wo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const J5={name:"definition",tokenize:eO},W5={partial:!0,tokenize:tO};function eO(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return a_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Ql(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?wo(e,h)(v):h(v)}function h(v){return l_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(W5,p,p)(v)}function p(v){return Qe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function tO(e,n,i){return l;function l(f){return rn(f)?wo(e,o)(f):i(f)}function o(f){return o_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const nO={name:"hardBreakEscape",tokenize:rO};function rO(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const iO={name:"headingAtx",resolve:lO,tokenize:aO};function lO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function aO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Qe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const oO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tb=["pre","script","style","textarea"],sO={concrete:!0,name:"htmlFlow",resolveTo:fO,tokenize:dO},uO={partial:!0,tokenize:pO},cO={partial:!0,tokenize:hO};function fO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function dO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&tb.includes(F)?(o=1,l.interrupt?n(N):I(N)):oO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Qe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),T):Qe(N)?(e.consume(N),_):X(N)}function T(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),T):B(N)}function B(N){return N===61?(e.consume(N),A):Qe(N)?(e.consume(N),B):_(N)}function A(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Qe(N)?(e.consume(N),A):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Qe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Qe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(uO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(cO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return tb.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function hO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function pO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const mO={name:"htmlText",tokenize:gO};function gO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),T):Te(j)?(u=_,$(j)):(e.consume(j),_)}function T(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),A):i(j)}function A(j){return j===45||vn(j)?(e.consume(j),A):q(j)}function q(j){return Te(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Qe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Qe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:bO,resolveTo:wO,tokenize:SO},yO={tokenize:_O},xO={tokenize:EO},vO={tokenize:NO};function bO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:RO},exit:HO,name:"list",tokenize:DO},jO={partial:!0,tokenize:BO},OO={partial:!0,tokenize:LO};function DO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Vu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(jO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function RO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(OO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function LO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function HO(e){e.exit(this.containerState.type)}function BO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const nb={name:"setextUnderline",resolveTo:qO,tokenize:UO};function qO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function UO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const IO={tokenize:VO};function VO(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(P5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const YO={resolveAll:u_()},GO=s_("string"),$O=s_("text");function s_(e){return{resolveAll:u_(e==="text"?XO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function lD(e,n){let i=-1;const l=[];let o;for(;++i4&&i.slice(0,4)==="data"&&R4.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(I1,H4);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!I1.test(s)){let u=s.replace(O4,L4);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=pm}return new o(l,n)}function L4(e){return"-"+e.toLowerCase()}function H4(e){return e.charAt(1).toUpperCase()}const B4=IS([VS,A4,$S,XS,PS],"html"),mm=IS([VS,M4,$S,XS,PS],"svg");function q4(e){return e.join(" ").trim()}var Hl={},tp,V1;function U4(){if(V1)return tp;V1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",y="comment",v="declaration";function w(S,_){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];_=_||{};var z=1,E=1;function A(L){var G=L.match(n);G&&(z+=G.length);var R=L.lastIndexOf(d);E=~R?L.length-R:E+L.length}function B(){var L={line:z,column:E};return function(G){return G.position=new T(L),D(),G}}function T(L){this.start=L,this.end={line:z,column:E},this.source=_.source}T.prototype.content=S;function q(L){var G=new Error(_.source+":"+z+":"+E+": "+L);if(G.reason=L,G.filename=_.source,G.line=z,G.column=E,G.source=S,!_.silent)throw G}function M(L){var G=L.exec(S);if(G){var R=G[0];return A(R),S=S.slice(R.length),G}}function D(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var R=S.slice(2,G-2);return E+=2,A(R),S=S.slice(G),E+=2,L({type:y,comment:R})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var R=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:R?k(R[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return D(),ee()}function k(S){return S?S.replace(f,p):p}return tp=w,tp}var Y1;function I4(){if(Y1)return Hl;Y1=1;var e=Hl&&Hl.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Hl,"__esModule",{value:!0}),Hl.default=i;const n=e(U4());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Hl}var oo={},G1;function V4(){if(G1)return oo;G1=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return oo.camelCase=d,oo}var so,$1;function Y4(){if($1)return so;$1=1;var e=so&&so.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(I4()),i=V4();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,so=l,so}var G4=Y4();const $4=Lo(G4),FS=QS("end"),gm=QS("start");function QS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function X4(e){const n=gm(e),i=FS(e);if(n&&i)return{start:n,end:i}}function bo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?X1(e.position):"start"in e||"end"in e?X1(e):"line"in e||"column"in e?Dp(e):""}function Dp(e){return P1(e&&e.line)+":"+P1(e&&e.column)}function X1(e){return Dp(e&&e.start)+"-"+Dp(e&&e.end)}function P1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=bo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const ym={}.hasOwnProperty,P4=new Map,F4=/[A-Z]/g,Q4=new Set(["table","tbody","thead","tfoot","tr"]),Z4=new Set(["td","th"]),ZS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function K4(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=l5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=i5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?mm:B4,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=KS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function KS(e,n,i){if(n.type==="element")return J4(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return W4(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return t5(e,n,i);if(n.type==="mdxjsEsm")return e5(e,n);if(n.type==="root")return n5(e,n,i);if(n.type==="text")return r5(e,n)}function J4(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=WS(e,n.tagName,!1),u=a5(e,n);let f=vm(e,n);return Q4.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!T4(d):!0})),JS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function W4(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function e5(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function t5(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=mm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:WS(e,n.name,!0),u=o5(e,n),f=vm(e,n);return JS(e,u,s,n),xm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function n5(e,n,i){const l={};return xm(l,vm(e,n)),e.create(n,e.Fragment,l,i)}function r5(e,n){return n.value}function JS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function xm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function i5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function l5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=gm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function a5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&ym.call(n.properties,o)){const s=s5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&Z4.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function o5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function vm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:P4;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const Z1={}.hasOwnProperty;function g5(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Ql(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),vn=di(/[\dA-Za-z]/),v5=di(/[#-'*+\--9=?A-Z^-~]/);function Lp(e){return e!==null&&(e<32||e===127)}const Hp=di(/\d/),b5=di(/[\dA-Fa-f]/),w5=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const S5=di(new RegExp("\\p{P}|\\p{S}","u")),_5=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function oa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const q=n.events.length;let M=q,D,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(D){X=n.events[M][1].end;break}D=!0}for(_(l),T=q;TE;){const B=i[A];n.containerState=B[1],B[0].exit.call(n,e)}i.length=E}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function T5(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function J1(e){if(e===null||rn(e)||_5(e))return 1;if(S5(e))return 2}function wm(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};W1(p,-d),W1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=An(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=An(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=An(h,wm(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=An(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=An(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(T)?ot(e,z,"linePrefix",s+1)(T):z(T)}function z(T){return T===null||Te(T)?e.check(eb,k,A)(T):(e.enter("codeFlowValue"),E(T))}function E(T){return T===null||Te(T)?(e.exit("codeFlowValue"),z(T)):(e.consume(T),E)}function A(T){return e.exit("codeFenced"),n(T)}function B(T,q,M){let D=0;return X;function X(G){return T.enter("lineEnding"),T.consume(G),T.exit("lineEnding"),H}function H(G){return T.enter("codeFencedFence"),Qe(G)?ot(T,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(T.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(D++,T.consume(G),ee):D>=u?(T.exit("codeFencedFenceSequence"),Qe(G)?ot(T,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(T.exit("codeFencedFence"),q(G)):M(G)}}}function U5(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const rp={name:"codeIndented",tokenize:V5},I5={partial:!0,tokenize:Y5};function V5(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(I5,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function Y5(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const G5={name:"codeText",previous:X5,resolve:$5,tokenize:P5};function $5(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&uo(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),uo(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),uo(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function a_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(_){return _===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(_),e.exit(s),y):_===null||_===32||_===41||Lp(_)?i(_):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(_))}function y(_){return _===62?(e.enter(s),e.consume(_),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(_))}function v(_){return _===62?(e.exit("chunkString"),e.exit(f),y(_)):_===null||_===60||Te(_)?i(_):(e.consume(_),_===92?w:v)}function w(_){return _===60||_===62||_===92?(e.consume(_),v):v(_)}function k(_){return!m&&(_===null||_===41||rn(_))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(_)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function s_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):Te(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||Te(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function wo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const tO={name:"definition",tokenize:rO},nO={partial:!0,tokenize:iO};function rO(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return o_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Ql(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?wo(e,h)(v):h(v)}function h(v){return a_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(nO,p,p)(v)}function p(v){return Qe(v)?ot(e,y,"whitespace")(v):y(v)}function y(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function iO(e,n,i){return l;function l(f){return rn(f)?wo(e,o)(f):i(f)}function o(f){return s_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const lO={name:"hardBreakEscape",tokenize:aO};function aO(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const oO={name:"headingAtx",resolve:sO,tokenize:uO};function sO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function uO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Qe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const cO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],nb=["pre","script","style","textarea"],fO={concrete:!0,name:"htmlFlow",resolveTo:pO,tokenize:mO},dO={partial:!0,tokenize:yO},hO={partial:!0,tokenize:gO};function pO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function mO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),y):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function y(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const Y="CDATA[";return N===Y.charCodeAt(f++)?(e.consume(N),f===Y.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const Y=N===47,F=u.toLowerCase();return!Y&&!s&&nb.includes(F)?(o=1,l.interrupt?n(N):I(N)):cO.includes(u.toLowerCase())?(o=6,Y?(e.consume(N),_):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):E(N))}return N===45||vn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function _(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Qe(N)?(e.consume(N),z):X(N)}function E(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),A):Qe(N)?(e.consume(N),E):X(N)}function A(N){return N===45||N===46||N===58||N===95||vn(N)?(e.consume(N),A):B(N)}function B(N){return N===61?(e.consume(N),T):Qe(N)?(e.consume(N),B):E(N)}function T(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Qe(N)?(e.consume(N),T):M(N)}function q(N){return N===d?(e.consume(N),d=null,D):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function D(N){return N===47||N===62||Qe(N)?E(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Qe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),R):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(dO,P,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(hO,L,P)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function R(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const Y=u.toLowerCase();return nb.includes(Y)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),P(N)):(e.consume(N),U)}function P(N){return e.exit("htmlFlow"),n(N)}}function gO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function yO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(wc,n,i)}}const xO={name:"htmlText",tokenize:vO};function vO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),E):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):Te(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?R(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),_):k(j)}function _(j){return j===62?R(j):j===93?(e.consume(j),_):k(j)}function z(j){return j===null||j===62?R(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function E(j){return j===null?i(j):j===63?(e.consume(j),A):Te(j)?(u=E,$(j)):(e.consume(j),E)}function A(j){return j===62?R(j):E(j)}function B(j){return Jn(j)?(e.consume(j),T):i(j)}function T(j){return j===45||vn(j)?(e.consume(j),T):q(j)}function q(j){return Te(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):R(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):j===47||j===62||rn(j)?D(j):i(j)}function D(j){return j===47?(e.consume(j),R):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=D,$(j)):Qe(j)?(e.consume(j),D):R(j)}function X(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Qe(j)?(e.consume(j),H):D(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?D(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?D(j):i(j)}function R(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const Sm={name:"labelEnd",resolveAll:_O,resolveTo:EO,tokenize:NO},bO={tokenize:kO},wO={tokenize:CO},SO={tokenize:TO};function _O(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:BO},exit:UO,name:"list",tokenize:HO},DO={partial:!0,tokenize:IO},LO={partial:!0,tokenize:qO};function HO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Hp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Vu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Hp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(wc,l.interrupt?i:m,e.attempt(DO,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function BO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(wc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(LO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function qO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function UO(e){e.exit(this.containerState.type)}function IO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const rb={name:"setextUnderline",resolveTo:VO,tokenize:YO};function VO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function YO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const GO={tokenize:$O};function $O(e){const n=this,i=e.attempt(wc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Z5,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const XO={resolveAll:c_()},PO=u_("string"),FO=u_("text");function u_(e){return{resolveAll:c_(e==="text"?QO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function sR(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||ib).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function vD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function bD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function wD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=oa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function SD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function _D(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function d_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function ED(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return d_(e,n);const o={src:oa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function ND(e,n){const i={src:oa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function kD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function CD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return d_(e,n);const o={href:oa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function TD(e,n){const i={href:oa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function zD(e,n,i){const l=e.all(n),o=i?AD(i):h_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||lb).call(Ne,void 0,$t[0])}for(ge.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function SR(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function _R(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function ER(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=oa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function NR(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function kR(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function h_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function CR(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return h_(e,n);const o={src:oa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function TR(e,n){const i={src:oa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function zR(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function AR(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return h_(e,n);const o={href:oa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function MR(e,n){const i={href:oa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function jR(e,n,i){const l=e.all(n),o=i?OR(i):p_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function MD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=PS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function LD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(ob(n.slice(o),o>0,!1)),s.join("")}function ob(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===lb||s===ab;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===lb||s===ab;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function qD(e,n){const i={type:"text",value:BD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function UD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const ID={blockquote:gD,break:yD,code:xD,delete:vD,emphasis:bD,footnoteReference:wD,heading:SD,html:_D,imageReference:ED,image:ND,inlineCode:kD,linkReference:CD,link:TD,listItem:zD,list:MD,paragraph:jD,root:OD,strong:DD,table:RD,tableCell:HD,tableRow:LD,text:qD,thematicBreak:UD,toml:ju,yaml:ju,definition:ju,footnoteDefinition:ju};function ju(){}const p_=-1,Sc=0,So=1,ic=2,_m=3,Em=4,Nm=5,km=6,m_=7,g_=8,sb=typeof self=="object"?self:globalThis,VD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case p_:return i(u,o);case So:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ic:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case m_:{const{name:f,message:d}=u;return i(new sb[f](d),o)}case g_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new sb[s](u),o)};return l},ub=e=>VD(new Map,e)(0),Bl="",{toString:YD}={},{keys:GD}=Object,co=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=YD.call(e).slice(8,-1);switch(i){case"Array":return[So,Bl];case"Object":return[ic,Bl];case"Date":return[_m,Bl];case"RegExp":return[Em,Bl];case"Map":return[Nm,Bl];case"Set":return[km,Bl];case"DataView":return[So,i]}return i.includes("Array")?[So,i]:i.includes("Error")?[m_,i]:[ic,i]},Ou=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),$D=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=co(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=g_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([p_],u)}return o([f,m],u)}case So:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case ic:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of GD(u))(e||!Ou(co(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Ou(co(y))||Ou(co(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!Ou(co(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},cb=(e,{json:n,lossy:i}={})=>{const l=[];return $D(!(n||i),!!n,new Map,l)(e),l},lc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ub(cb(e,n)):structuredClone(e):(e,n)=>ub(cb(e,n));function XD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function PD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function FD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||XD,l=e.options.footnoteBackLabel||PD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...lc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`});const h={type:"element",tagName:"li",properties:s,children:u};return e.patch(n,h),e.applyData(n,h)}function OR(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const i=e.children;let l=-1;for(;!n&&++l1}function RR(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=gm(n.children[1]),d=FS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function qR(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(sb(n.slice(o),o>0,!1)),s.join("")}function sb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===ab||s===ob;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===ab||s===ob;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function VR(e,n){const i={type:"text",value:IR(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function YR(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const GR={blockquote:vR,break:bR,code:wR,delete:SR,emphasis:_R,footnoteReference:ER,heading:NR,html:kR,imageReference:CR,image:TR,inlineCode:zR,linkReference:AR,link:MR,listItem:jR,list:RR,paragraph:DR,root:LR,strong:HR,table:BR,tableCell:UR,tableRow:qR,text:VR,thematicBreak:YR,toml:ju,yaml:ju,definition:ju,footnoteDefinition:ju};function ju(){}const m_=-1,Sc=0,So=1,ic=2,_m=3,Em=4,Nm=5,km=6,g_=7,y_=8,ub=typeof self=="object"?self:globalThis,$R=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case Sc:case m_:return i(u,o);case So:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ic:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case _m:return i(new Date(u),o);case Em:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Nm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case km:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case g_:{const{name:f,message:d}=u;return i(new ub[f](d),o)}case y_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ub[s](u),o)};return l},cb=e=>$R(new Map,e)(0),Bl="",{toString:XR}={},{keys:PR}=Object,co=e=>{const n=typeof e;if(n!=="object"||!e)return[Sc,n];const i=XR.call(e).slice(8,-1);switch(i){case"Array":return[So,Bl];case"Object":return[ic,Bl];case"Date":return[_m,Bl];case"RegExp":return[Em,Bl];case"Map":return[Nm,Bl];case"Set":return[km,Bl];case"DataView":return[So,i]}return i.includes("Array")?[So,i]:i.includes("Error")?[g_,i]:[ic,i]},Ou=([e,n])=>e===Sc&&(n==="function"||n==="symbol"),FR=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=co(u);switch(f){case Sc:{let m=u;switch(d){case"bigint":f=y_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([m_],u)}return o([f,m],u)}case So:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case ic:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of PR(u))(e||!Ou(co(u[y])))&&m.push([s(y),s(u[y])]);return p}case _m:return o([f,u.toISOString()],u);case Em:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Nm:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Ou(co(y))||Ou(co(v))))&&m.push([s(y),s(v)]);return p}case km:{const m=[],p=o([f,m],u);for(const y of u)(e||!Ou(co(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},fb=(e,{json:n,lossy:i}={})=>{const l=[];return FR(!(n||i),!!n,new Map,l)(e),l},lc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?cb(fb(e,n)):structuredClone(e):(e,n)=>cb(fb(e,n));function QR(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function ZR(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function KR(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||QR,l=e.options.footnoteBackLabel||ZR,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const _={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,_),f.push(_)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...lc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const y_=(function(e){if(e==null)return JD;if(typeof e=="function")return _c(e);if(typeof e=="object")return Array.isArray(e)?QD(e):ZD(e);if(typeof e=="string")return KD(e);throw new Error("Expected function, string, or object as test")});function QD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=x_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=rR(i(d,m)),v[0]===fb))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==tR)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k":""))+")"})}return y;function y(){let v=v_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=aD(i(d,m)),v[0]===db))return v;if("children"in d&&d.children){const _=d;if(_.children&&v[0]!==iD)for(k=(l?_.children.length:-1)+u,S=m.concat(_);k>-1&&k<_.children.length;){const z=_.children[k];if(w=f(z,k,S)(),w[0]===db)return w;k=typeof w[1]=="number"?w[1]:k+u}}return v}}}function aD(e){return Array.isArray(e)?e:typeof e=="number"?[rD,e]:e==null?v_:[e]}function b_(e,n,i,l){let o,s,u;typeof n=="function"&&typeof i!="function"?(s=void 0,u=n,o=i):(s=n,u=i,o=l),lD(e,s,f,o);function f(d,h){const m=h[h.length-1],p=m?m.children.indexOf(d):void 0;return u(d,p,m)}}const qp={}.hasOwnProperty,oD={};function sD(e,n){const i=n||oD,l=new Map,o=new Map,s=new Map,u={...GR,...i.handlers},f={all:h,applyData:cD,definitionById:l,footnoteById:o,footnoteCounts:s,footnoteOrder:[],handlers:u,one:d,options:i,patch:uD,wrap:dD};return b_(e,function(m){if(m.type==="definition"||m.type==="footnoteDefinition"){const p=m.type==="definition"?l:o,y=String(m.identifier).toUpperCase();p.has(y)||p.set(y,m)}}),f;function d(m,p){const y=m.type,v=f.handlers[y];if(qp.call(f.handlers,y)&&v)return v(f,m,p);if(f.options.passThrough&&f.options.passThrough.includes(y)){if("children"in m){const{children:k,...S}=m,_=lc(S);return _.children=f.all(m),_}return lc(m)}return(f.options.unknownHandler||fD)(f,m,p)}function h(m){const p=[];if("children"in m){const y=m.children;let v=-1;for(;++v0&&i.push({type:"text",value:` -`}),i}function db(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function hb(e,n){const i=lR(e,n),l=i.one(e,void 0),o=FD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function cR(e,n){return e&&"run"in e?async function(i,l){const o=hb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return hb(i,{file:l,...e||n})}}function pb(e){if(e)throw e}var lp,mb;function fR(){if(mb)return lp;mb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:mR,dirname:gR,extname:yR,join:xR,sep:"/"};function mR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function gR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function yR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function xR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function bR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const wR={cwd:SR};function SR(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function _R(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return ER(e)}function ER(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const TR=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function yb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Du(e){return zR(e)?e:new b_(e)}function zR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function AR(e){return typeof e=="string"||MR(e)}function MR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const jR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",vb=[],bb={allowDangerousHtml:!0},OR=/^(https?|ircs?|mailto|xmpp)$/i,DR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function RR(e){const n=LR(e),i=HR(e);return BR(n.runSync(n.parse(i),i),e)}function LR(e){const n=e.rehypePlugins||vb,i=e.remarkPlugins||vb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...bb}:bb;return TR().use(mD).use(i).use(cR,l).use(n)}function HR(e){const n=e.children||"",i=new b_;return typeof n=="string"&&(i.value=n),i}function BR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||qR;for(const m of DR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+jR+m.id,void 0);return v_(e,h),F4(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function qR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||OR.test(e.slice(0,n))?e:""}function UR({node:e}){const n=he(_=>_.sendGateResponse),i=he(_=>_.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,T)=>{if(v){if(T){o(_),d(T);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const T=l===_.value,B=l!==null&&!T;return b.jsx("button",{disabled:!v&&!T,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${T?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:T?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${T?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(_o,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(iN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(IR,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(RR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function IR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(la,{items:n})}function VR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(la,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(GR,{item:m},`${m.key}-${m.index}`))})]})]})}const YR={running:lt.running,completed:lt.completed,failed:lt.failed};function GR({item:e}){const[n,i]=V.useState(e.status==="running"),l=YR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Zl(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(Fi,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(_o,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Zl(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(la,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function $R(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return v4;case"human_gate":return UR;case"parallel_group":case"for_each_group":return VR;default:return y4}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Yu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function XR(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(G2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(Nb,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(K2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(Fi,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(PR,{entries:n}):o==="log"?b.jsx(FR,{entries:e}):b.jsx(QR,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const wb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function PR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Yu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(rN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(Bo,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=wb[d.type]||wb.message,p=w_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Yu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Yu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const Sb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function FR({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=Sb[s.level]||Sb.info,d=w_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Yu(s.message)})]},u)})})}function w_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function QR({output:e,status:n}){const[i,l]=V.useState(!1),o=Tb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(kb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(ZR,{text:o}):o})})]})}function ZR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function KR(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(fo,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(fo,{defaultSize:e?65:100,minSize:40,children:b.jsx(d4,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(fo,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx($R,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(fo,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(XR,{})})]})}const JR=3e4;function WR(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,JR),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function e6(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function t6(){return WR(),null}function n6(){return e6(),null}function r6(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(n6,{}):b.jsx(t6,{}),b.jsx(xN,{}),b.jsx(KR,{}),i?b.jsx(SN,{}):b.jsx(vN,{})]})}q2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(r6,{})})); +`}),i}function hb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function pb(e,n){const i=sD(e,n),l=i.one(e,void 0),o=KR(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function hD(e,n){return e&&"run"in e?async function(i,l){const o=pb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return pb(i,{file:l,...e||n})}}function mb(e){if(e)throw e}var lp,gb;function pD(){if(gb)return lp;gb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return lp=function d(){var h,m,p,y,v,w,k=arguments[0],S=1,_=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});S<_;++S)if(h=arguments[S],h!=null)for(m in h)p=f(k,m),y=f(h,m),k!==y&&(z&&y&&(s(y)||(v=o(y)))?(v?(v=!1,w=p&&o(p)?p:[]):w=p&&s(p)?p:{},u(k,{name:m,newValue:d(z,w,y)})):typeof y<"u"&&u(k,{name:m,newValue:y}));return k},lp}var mD=pD();const ap=Lo(mD);function Up(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function gD(){const e=[],n={run:i,use:l};return n;function i(...o){let s=-1;const u=o.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);f(null,...o);function f(d,...h){const m=e[++s];let p=-1;if(d){u(d);return}for(;++pu.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:xD,dirname:vD,extname:bD,join:wD,sep:"/"};function xD(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function vD(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function bD(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function wD(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function _D(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const ED={cwd:ND};function ND(){return"/"}function Ip(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function kD(e){if(typeof e=="string")e=new URL(e);else if(!Ip(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return CD(e)}function CD(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[y][1];Up(k)&&Up(v)&&(v=ap(!0,k,v)),l[y]=[h,v,...w]}}}}const MD=new Cm().freeze();function cp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function dp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function xb(e){if(!Up(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function vb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ru(e){return jD(e)?e:new w_(e)}function jD(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function OD(e){return typeof e=="string"||RD(e)}function RD(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const DD="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",bb=[],wb={allowDangerousHtml:!0},LD=/^(https?|ircs?|mailto|xmpp)$/i,HD=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function BD(e){const n=qD(e),i=UD(e);return ID(n.runSync(n.parse(i),i),e)}function qD(e){const n=e.rehypePlugins||bb,i=e.remarkPlugins||bb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...wb}:wb;return MD().use(xR).use(i).use(hD,l).use(n)}function UD(e){const n=e.children||"",i=new w_;return typeof n=="string"&&(i.value=n),i}function ID(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||VD;for(const m of HD)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+DD+m.id,void 0);return b_(e,h),K4(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in np)if(Object.hasOwn(np,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=np[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function VD(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||LD.test(e.slice(0,n))?e:""}function YD({node:e}){const n=he(E=>E.sendGateResponse),i=he(E=>E.wsStatus),[l,o]=V.useState(null),[s,u]=V.useState(""),[f,d]=V.useState(null),[h,m]=V.useState(!1),p=e.status==="waiting",y=e.status==="completed";V.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(E,A)=>{if(v){if(A){o(E),d(A);return}o(E),m(!0),n(e.name,E)}},k=()=>{if(l===null||f===null)return;const E={[f]:s};m(!0),n(e.name,l,E),d(null)},S=e.option_details,_=S==null?void 0:S.find(E=>E.value===e.selected_option),z=(_==null?void 0:_.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(E=>{const A=l===E.value,B=l!==null&&!A;return b.jsx("button",{disabled:!v&&!A,onClick:()=>w(E.value,E.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${A?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:A?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${A?"text-green-400":"text-[var(--text)]"}`,children:E.label})}),E.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",E.route]})]})},E.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(_o,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(E=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:E},E))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:E=>u(E.target.value),onKeyDown:E=>E.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(lN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(E=>E.value!==e.selected_option).map(E=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:E.label}),E.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",E.route]})]},E.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(E=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${E===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[E===e.selected_option&&"✓ ",E]},E))}),b.jsx(GD,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(hp,{text:e.prompt,muted:!0})})]})]})}function hp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(BD,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function GD({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(la,{items:n})}function $D({node:e}){const n=e.status,i=lt[n]||lt.pending,o=he(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=V.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:ln(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(la,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(Fi,{className:"w-3 h-3"}):b.jsx(ia,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(PD,{item:m},`${m.key}-${m.index}`))})]})]})}const XD={running:lt.running,completed:lt.completed,failed:lt.failed};function PD({item:e}){const[n,i]=V.useState(e.status==="running"),l=XD[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:ln(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Zl(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(Fi,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(ia,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(_o,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:ln(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Zl(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(la,{items:s}),e.prompt&&b.jsx(Pi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(hm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Pi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function FD(){const e=he(f=>f.selectedNode),n=he(f=>f.nodes),i=he(f=>f.selectNode),[l,o]=V.useState(!1);V.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return S4;case"human_gate":return YD;case"parallel_group":case"for_each_group":return $D;default:return b4}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(Bo,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Yu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function QD(){const e=he(S=>S.eventLog),n=he(S=>S.activityLog),i=he(S=>S.workflowOutput),l=he(S=>S.workflowStatus),[o,s]=V.useState("log"),[u,f]=V.useState(!1),[d,h]=V.useState(0),[m,p]=V.useState(0),y=V.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);V.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),V.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),V.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsx(bx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(pp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(bx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(pp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(kb,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(pp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(J2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(Fi,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(ZD,{entries:n}):o==="log"?b.jsx(KD,{entries:e}):b.jsx(JD,{output:i,status:l})})]})}function pp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const Sb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function ZD({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(d=>d.selectNode),[o,s]=V.useState(""),u=V.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=V.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Yu(h.message).toLowerCase().includes(d))},[e,o]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(iN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(Bo,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=Sb[d.type]||Sb.message,p=S_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Yu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Yu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const _b={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function KD({entries:e}){const n=V.useRef(null),i=V.useRef(!0),l=he(s=>s.selectNode),o=V.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return V.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=_b[s.level]||_b.info,d=S_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Yu(s.message)})]},u)})})}function S_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function JD({output:e,status:n}){const[i,l]=V.useState(!1),o=zb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Cb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(WD,{text:o}):o})})]})}function WD({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function e6(){const e=he(n=>n.selectedNode);return b.jsxs(gp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(fo,{defaultSize:70,minSize:30,children:b.jsxs(gp,{direction:"horizontal",className:"h-full",children:[b.jsx(fo,{defaultSize:e?65:100,minSize:40,children:b.jsx(m4,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(yp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(fo,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(FD,{})})]})]})}),b.jsx(yp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(fo,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(QD,{})})]})}const t6=3e4;function n6(){const e=he(p=>p.processEvent),n=he(p=>p.replayState),i=he(p=>p.setWsStatus),l=he(p=>p.setWsSend),o=V.useRef(null),s=V.useRef(1e3),u=V.useRef(null),f=V.useRef(null),d=V.useRef(()=>{}),h=V.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,t6),d.current()},s.current)},[i]),m=V.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const _=JSON.parse(S.data);e(_)}catch(_){console.error("Failed to parse WebSocket message:",_)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,V.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function r6(){const e=he(h=>h.setReplayMode),n=he(h=>h.setWsStatus),i=he(h=>h.replayPlaying),l=he(h=>h.replayPosition),o=he(h=>h.replayTotalEvents),s=he(h=>h.replaySpeed),u=he(h=>h.replayEvents),f=he(h=>h.setReplayPosition);V.useEffect(()=>{n("connecting"),fetch("/api/state").then(h=>h.json()).then(h=>{e(h),n("connected")}).catch(h=>{console.error("Failed to load replay events:",h),n("disconnected")})},[e,n]);const d=V.useRef(null);V.useEffect(()=>{if(!i||l>=o){d.current&&clearTimeout(d.current),i&&l>=o&&he.getState().setReplayPlaying(!1);return}const h=u[l-1],m=u[l];let p=100;if(h&&m){const y=(m.timestamp-h.timestamp)*1e3;p=Math.max(16,Math.min(y/s,2e3))}return d.current=setTimeout(()=>{f(l+1)},p),()=>{d.current&&clearTimeout(d.current)}},[i,l,o,s,u,f])}function i6(){return n6(),null}function l6(){return r6(),null}function a6(){const[e,n]=V.useState(null),i=he(s=>s.replayMode),l=he(s=>s.selectNode),o=he(s=>s.workflowName);return V.useEffect(()=>{fetch("/api/replay/info").then(s=>{s.ok?n(!0):n(!1)}).catch(()=>n(!1))},[]),V.useEffect(()=>{document.title=o?`Conductor — ${o}`:"Conductor Dashboard"},[o]),V.useEffect(()=>{const s=u=>{u.key==="Escape"&&l(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[l]),e===null?null:b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[e?b.jsx(l6,{}):b.jsx(i6,{}),b.jsx(vN,{}),b.jsx(e6,{}),i?b.jsx(EN,{}):b.jsx(wN,{})]})}U2.createRoot(document.getElementById("root")).render(b.jsx(V.StrictMode,{children:b.jsx(a6,{})})); diff --git a/src/conductor/web/static/assets/index-DHEpYuxn.css b/src/conductor/web/static/assets/index-DHEpYuxn.css new file mode 100644 index 0000000..9961ba5 --- /dev/null +++ b/src/conductor/web/static/assets/index-DHEpYuxn.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[90\%\]{height:90%}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[context-pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite context-pulse}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500\/70{color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.text-emerald-500\/70{color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes context-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-QjxFLc8h.css b/src/conductor/web/static/assets/index-QjxFLc8h.css deleted file mode 100644 index 01d6382..0000000 --- a/src/conductor/web/static/assets/index-QjxFLc8h.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-\[90\%\]{height:90%}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500\/70{color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.text-emerald-500\/70{color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/assets/index-obLVamF6.css b/src/conductor/web/static/assets/index-obLVamF6.css deleted file mode 100644 index 8078e05..0000000 --- a/src/conductor/web/static/assets/index-obLVamF6.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[context-pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite context-pulse}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes context-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))} diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 5f2144c..e2d4383 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
From 96a17e8cd49770258938657bd7d421462c69fc20 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Tue, 31 Mar 2026 12:18:43 -0400 Subject: [PATCH 14/18] style: format workflow.py Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/engine/workflow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/conductor/engine/workflow.py b/src/conductor/engine/workflow.py index e36fb32..37992e1 100644 --- a/src/conductor/engine/workflow.py +++ b/src/conductor/engine/workflow.py @@ -395,6 +395,7 @@ def _conductor_version() -> str: """Return the installed conductor-cli version.""" try: from conductor import __version__ + return __version__ except Exception: return "unknown" From 9d4b5d2608ac9d3d8db23754c26da60e9c212f82 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Tue, 31 Mar 2026 12:34:09 -0400 Subject: [PATCH 15/18] fix: handle string workflow_path in yaml_source_field Some tests pass workflow_path as a string instead of Path. Wrap with Path() and catch ValueError in addition to OSError. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/engine/workflow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conductor/engine/workflow.py b/src/conductor/engine/workflow.py index 37992e1..2adb60d 100644 --- a/src/conductor/engine/workflow.py +++ b/src/conductor/engine/workflow.py @@ -386,8 +386,8 @@ def _yaml_source_field(self) -> dict[str, str]: if self.workflow_path is None: return {} try: - return {"yaml_source": self.workflow_path.read_text(encoding="utf-8")} - except OSError: + return {"yaml_source": Path(self.workflow_path).read_text(encoding="utf-8")} + except (OSError, ValueError): return {} @staticmethod From 5415582fd6aacb2f22263bf8ed8502c4c2591538 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Thu, 2 Apr 2026 09:04:53 -0400 Subject: [PATCH 16/18] fix(test): set COLUMNS=120 to prevent Rich truncation in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In CI environments with narrow or unset terminal widths, Rich truncates option names in Typer help output (e.g. '--web-port' becomes '--web…'), causing the test_custom_port_option assertion to fail. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/test_cli/test_replay_command.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_cli/test_replay_command.py b/tests/test_cli/test_replay_command.py index dda5d1b..baa5805 100644 --- a/tests/test_cli/test_replay_command.py +++ b/tests/test_cli/test_replay_command.py @@ -10,6 +10,7 @@ from __future__ import annotations import json +import os from pathlib import Path from unittest.mock import AsyncMock, patch @@ -17,6 +18,9 @@ from conductor.cli.app import app +# Force a wide terminal so Rich doesn't truncate option names in help text. +os.environ["COLUMNS"] = "120" + runner = CliRunner() From 5893d4849ad04e6b5bbf8baf5ed698e925dbd3ea Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Thu, 2 Apr 2026 09:18:07 -0400 Subject: [PATCH 17/18] fix(test): set COLUMNS before app import to fix CI truncation The COLUMNS env var was set after importing conductor.cli.app, which creates Rich Console objects at module level during import. On CI (no TTY), the Console cached a narrow default width, causing --web-port to be truncated from replay help output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/test_cli/test_replay_command.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_cli/test_replay_command.py b/tests/test_cli/test_replay_command.py index baa5805..2d3a154 100644 --- a/tests/test_cli/test_replay_command.py +++ b/tests/test_cli/test_replay_command.py @@ -14,13 +14,14 @@ from pathlib import Path from unittest.mock import AsyncMock, patch +# Force a wide terminal so Rich doesn't truncate option names in help text. +# Must be set BEFORE importing app, which creates Rich Console objects at module level. +os.environ["COLUMNS"] = "120" + from typer.testing import CliRunner from conductor.cli.app import app -# Force a wide terminal so Rich doesn't truncate option names in help text. -os.environ["COLUMNS"] = "120" - runner = CliRunner() From db5cf8835d7e02834f847211cc5ab3bbe5d4e2c6 Mon Sep 17 00:00:00 2001 From: Jason Robert Date: Thu, 2 Apr 2026 09:27:16 -0400 Subject: [PATCH 18/18] fix(test): strip ANSI codes in replay help assertions Rich may insert ANSI escape codes within option names differently across platforms. Strip them before checking for --web-port to make the test robust on CI (Linux, no TTY). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/test_cli/test_replay_command.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/test_cli/test_replay_command.py b/tests/test_cli/test_replay_command.py index 2d3a154..cb68e34 100644 --- a/tests/test_cli/test_replay_command.py +++ b/tests/test_cli/test_replay_command.py @@ -10,20 +10,18 @@ from __future__ import annotations import json -import os +import re from pathlib import Path from unittest.mock import AsyncMock, patch -# Force a wide terminal so Rich doesn't truncate option names in help text. -# Must be set BEFORE importing app, which creates Rich Console objects at module level. -os.environ["COLUMNS"] = "120" - from typer.testing import CliRunner from conductor.cli.app import app runner = CliRunner() +_ANSI_RE = re.compile(r"\x1b\[[0-9;]*m") + # --------------------------------------------------------------------------- # Helpers @@ -55,7 +53,8 @@ def test_help(self) -> None: """Replay command shows help text.""" result = runner.invoke(app, ["replay", "--help"]) assert result.exit_code == 0 - assert "Replay a recorded workflow" in result.output + clean = _ANSI_RE.sub("", result.output) + assert "Replay a recorded workflow" in clean def test_missing_file(self, tmp_path: Path) -> None: """Replay with a nonexistent file shows error.""" @@ -80,4 +79,5 @@ def test_invocation_calls_asyncio_run(self, mock_run: AsyncMock, tmp_path: Path) def test_custom_port_option(self) -> None: """Replay command accepts --web-port option.""" result = runner.invoke(app, ["replay", "--help"]) - assert "--web-port" in result.output + clean = _ANSI_RE.sub("", result.output) + assert "--web-port" in clean